我写了一个"华夏2.exe"
路径: "d:\kh\game\华夏2.exe"
这个"华夏2.exe"实际是为了去执行 "f:\华夏2\华夏2.exe",因为特殊原因,必须调用执行不能直接执行。
而现在出现问题了。。
执行"d:\kh\game\华夏2.exe",结果程序默认路径为"d:\kh\game\"
"f:\华夏2\华夏2.exe"执行的时候自动生成出来的 "*.ini","data"文件夹 都释放到了"d:\kh\game\",
这样导致游戏无法开启,提示 "缺少 *.ini文件" '"*.ini","data"文件夹 应该释放到 "f:\华夏2\"中才能正常启动.
或者提示 "....." 反正就是错误提示。
我用过 wscript.shell .run "cmd /c "d:\kh\game\华夏2.exe""
也用过 winexec "d:\kh\game\华夏2.exe",1
也用过 shell()
都不行,好象是缺少什么关键语句。
传说中的高手在哪?救命.
路径: "d:\kh\game\华夏2.exe"
这个"华夏2.exe"实际是为了去执行 "f:\华夏2\华夏2.exe",因为特殊原因,必须调用执行不能直接执行。
而现在出现问题了。。
执行"d:\kh\game\华夏2.exe",结果程序默认路径为"d:\kh\game\"
"f:\华夏2\华夏2.exe"执行的时候自动生成出来的 "*.ini","data"文件夹 都释放到了"d:\kh\game\",
这样导致游戏无法开启,提示 "缺少 *.ini文件" '"*.ini","data"文件夹 应该释放到 "f:\华夏2\"中才能正常启动.
或者提示 "....." 反正就是错误提示。
我用过 wscript.shell .run "cmd /c "d:\kh\game\华夏2.exe""
也用过 winexec "d:\kh\game\华夏2.exe",1
也用过 shell()
都不行,好象是缺少什么关键语句。
传说中的高手在哪?救命.
解决方案 »
- 有史以来最菜的三星诞生了
- VB6调用crystal v.92做的报表,总是出现数据库登陆对话框,不知道怎么办!!高分求救~~
- 怎样使listview控件的小图标和文字大小协调?
- 报表显示时设置纸张大小问题(A3类型的纸)
- 请问如何彻底销毁timer控件?
- GetWindowInfo怎么用?
- 怎末将DataGrid和ADO纪录集绑定呀?
- 如何让richtextbox控件里的文字不自动换行
- 怎样得到一个文件的版本号?
- 详细说明我用WINSOCK:本机有一块网卡调制解调器,拨号上服务器,客户发数据服务器收,通过局网可以断开局网用拨号上网,WINSOCK提示没连接如何是好谢谢
- 怎么把PictureBox控件当作参数传递啊?
- API遍历磁盘的时间的低字节段和高字节段有何区别。
Option Explicit Private Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessId As Long
dwThreadId As Long
End Type Private Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Long
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type Private Declare Function CreateProcess Lib "kernel32" _
Alias "CreateProcessA" _
(ByVal lpApplicationName As String, _
ByVal lpCommandLine As String, _
lpProcessAttributes As Any, _
lpThreadAttributes As Any, _
ByVal bInheritHandles As Long, _
ByVal dwCreationFlags As Long, _
lpEnvironment As Any, _
ByVal lpCurrentDriectory As String, _
lpStartupInfo As STARTUPINFO, _
lpProcessInformation As PROCESS_INFORMATION) As Long Private Declare Function OpenProcess Lib "kernel32.dll" _
(ByVal dwAccess As Long, _
ByVal fInherit As Integer, _
ByVal hObject As Long) As Long Private Declare Function TerminateProcess Lib "kernel32" _
(ByVal hProcess As Long, _
ByVal uExitCode As Long) As Long Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long Const SYNCHRONIZE = 1048576
Const NORMAL_PRIORITY_CLASS = &H20& Private Sub Form_Click()
Dim pInfo As PROCESS_INFORMATION
Dim sInfo As STARTUPINFO
Dim sNull As String
Dim lSuccess As Long
Dim lRetValue As Long sInfo.cb = Len(sInfo)
lSuccess = CreateProcess(sNull, _
"d:\kh\game\华夏2.exe", _
ByVal 0&, _
ByVal 0&, _
1&, _
NORMAL_PRIORITY_CLASS, _
ByVal 0&, _
"f:\华夏2\", _
sInfo, _
pInfo) lRetValue = CloseHandle(pInfo.hThread)
lRetValue = CloseHandle(pInfo.hProcess)
End Sub
ChDrive "F" '更改当前盘符
ChDir "F:\华夏2\" '更改当前路径
Shell "华夏2.exe", vbNormalFocus '执行当前路径下(F:\华夏2\)的程序
End Sub
我写这个目的是 我机器本来没有o:盘
我要运行 d:\kh\run.exe 去读取 o:\盘
等o:\盘出来后,运行o:\qq飞车\qq飞车子目录\run.exe
我测试了代码,都不行,能启动,但是登陆按钮为灰色。我启动后把 o:\qq飞车\qq飞车子目录\ 下放一个max(讯闪3.1)用
o:\qq飞车\qq飞车子目录\max\讯闪3.1.exe再去调用o:\qq飞车\qq飞车子目录\run.exe
登陆按钮就为亮色,就可以进入了。直接点击o:\qq飞车\qq飞车子目录\run.exe
登陆按钮也为亮色,就可以进入了。我写的哪里出了问题,请帮忙看看。我代码如下:
dri 为游戏盘符。o:\
Pth 为放游戏执行文件的目录 o:\qq飞车\qq飞车子目录\
Rdini 为游戏可执行的路径 o:\qq飞车\qq飞车子目录\run.exe Set fd = CreateObject("Scripting.FileSystemObject")
If fd.FileExists(Rdini) Then
ChDrive "" & Dri & "\"
ChDir "" & Pth & "\"
Shell Chr(34) & Rdini & Chr(34), vbNormalFocus
Else
MsgBox "运行游戏超时了!请联系管理员,检测服务器是否正常运行!", vbOKOnly, "Message"
End If
End Sub
Dim pInfo As PROCESS_INFORMATION
Dim sInfo As STARTUPINFO
Dim sNull As String
Dim lSuccess As Long
Dim lRetValue As Long
sInfo.cb = Len(sInfo)
lSuccess = CreateProcess(sNull, _
Rdini, _
ByVal 0&, _
ByVal 0&, _
1&, _
NORMAL_PRIORITY_CLASS, _
ByVal 0&, _
Pth, _
sInfo, _
pInfo) lRetValue = CloseHandle(pInfo.hThread)
lRetValue = CloseHandle(pInfo.hProcess)
Pth=o:\qq飞车\qq飞车子目录\
Rdini=o:\qq飞车\qq飞车子目录\run.exe
我以前好多游戏都不能启动,现在这种方法已经解决大部分游戏
只有qq飞车这个 游戏 无法执行,我用人家的调用程序就能调用,比如游戏更新软件 讯闪。我做过以下测试,
方法一:
dri=的路径我程序里自动截取的是盘符路径。
pth 是 可执行文件所在路径。
Rdini 是 可执行文件本身的路径。
方法二:
dri=的路径我程序里自动截取的是盘符路径。
pth 是游戏目录路径 如"o:\qq飞车" 而不是 "o:\qq飞车\qq飞车子目录\"
Rdini 是 可执行文件本身的路径。现在只有 qq飞车能执行客户端程序 ,但是 不能点击开始,
而从盘里面直接点击程序,就能 正常运行 qq飞车,本人纳闷,故坚持跪求,望高手援助。
cd d:\kh\game\
华夏2.exe[/code]
然后执行,内容如下:
华夏2.exe
你是自己写一个loader去加载游戏么?
等有结果了我发出来
d:\kh\game\play.lnk
指向
f:\华夏2\华夏2.exe起始路径设为
f:\华夏2\用记事本写个d:\kh\game\play.bat
内容为
play.lnk在你的程序中shell "d:\kh\game\play.bat"