关于,DISM命令被编译后的一个问题!【已解决】
本帖最后由 ttmv2019sx 于 2021-11-9 19:41 编辑请问一下各大神,dism /NoRestart /online /add-package /packagepath:C:\Pro\641.cab这个文件如果在没有编译成EXE的情况下,直接运行测试,是可以正常被运行并执行的,但是如果被编译成EXE后,运行后,会没有效果,不知道有大神知道是什么原因引起的,,虽说这个命令一下是要CMD管理员模式下运行的,但是我在编译成EXE的时候,有选择管理员运行的,但是还是不行,不知道是什么原因,打包64位的EXE在64位的WIN10下运行。
代码加 #RequireAdmin afan 发表于 2021-11-9 14:13
代码加 #RequireAdmin
A大,我有添加的,不过还是无效,只要是打包了就无效了,不打包是可以的,这个就是奇怪了 加上A大的那个可以运行啊,编译后也可以,试试我这个最简单的dism命令行不行
#RequireAdmin
#include <AutoItConstants.au3>
$cmd = "dism /?"
$result = RunCmd($cmd, False, True)
MsgBox(0, "", $result)
Func RunCmd($sCommand, $bBin = False, $bWait = False)
;1:要执行的命令行(无需带@ComSpec) 2:是否以二进制方式读取(防止中文乱码,如ImageX) 3:是否等待进程执行完毕(防止部分exe数据流获取不全,如Diskpart)
If $bBin Then
Local $sOutput = Binary('')
Else
Local $sOutput = ''
EndIf
Local $iPID = Run($sCommand, '', @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
If $bWait Then
ProcessWaitClose($iPID)
$sOutput = StdoutRead($iPID, False, $bBin)
Else
While 1
$sOutput &= StdoutRead($iPID, False, $bBin)
If @error Then ExitLoop
WEnd
EndIf
If $bBin Then $sOutput = BinaryToString($sOutput, 4)
Return $sOutput
EndFunc ;==>RunCmd
sh1536 发表于 2021-11-9 18:00
加上A大的那个可以运行啊,编译后也可以,试试我这个最简单的dism命令行不行
管理员这个我是有加的,现在找到问题所在了,不是DISM不行,这个是可以的,是后面的KEY不行,
RunWait(@ComSpec & ' /c ' & 'cscript //nologo %SystemRoot%\system32\slmgr.vbs –ipk VK7JG-NPHTM-C97JM-9MPGT-3V66T', '', 1)
这一句我让其显示,也是一显而过,但是直接拿出来DOS下使用就是会来的,现在还在找问题中, 禁用重定向试试 zghwelcome 发表于 2021-11-9 18:50
禁用重定向试试
好的,我还把它给删除了呢,呵呵。我试试 zghwelcome 发表于 2021-11-9 18:50
禁用重定向试试
没有关系,还是这个KEY导入的命令不对,但是直接在DOS下是可以的,就是用AU3的时候不行,怪怪 zghwelcome 发表于 2021-11-9 18:50
禁用重定向试试
我试过了我是通过这个后面加了停止,才看到是出错的现象的,
RunWait(@ComSpec & ' /c ' & 'cscript //nologo %SystemRoot%\system32\slmgr.vbs –ipk VK7JG-NPHTM-C97JM-9MPGT-3V66T & pause', '', 1) 这样看看,操蛋刚在虚拟机里试了没问题,又把程序拷到真机上运行了,得到了这张截图,不知道重启后我的系统激活还在不在:face (30):
#RequireAdmin
$cmd = "cscript //nologo %SystemRoot%\system32\slmgr.vbs /ipk VK7JG-NPHTM-C97JM-9MPGT-3V66T & pause"
Run(@ComSpec & ' /c ' & $cmd, '', @SW_SHOW)
sh1536 发表于 2021-11-9 19:15
这样看看,操蛋刚在虚拟机里试了没问题,又把程序拷到真机上运行了,得到了这张截图,不知道重启后我的系统 ...
哈哈,成功了,真的谢谢你了,怎么把命令写到了,变量中,就行了,而直接,在命令中不行, sh1536 发表于 2021-11-9 19:15
这样看看,操蛋刚在虚拟机里试了没问题,又把程序拷到真机上运行了,得到了这张截图,不知道重启后我的系统 ...
刚试了,你的就算是拿出来不到变量,直接用也是可以的,奇怪了。有什么区别,我再看看, sh1536 发表于 2021-11-9 19:15
这样看看,操蛋刚在虚拟机里试了没问题,又把程序拷到真机上运行了,得到了这张截图,不知道重启后我的系统 ...
找到问题所在了,,原来是在/ipk这个上面出问题了,DOS下,-ipk是可以直接用的,而在AU3中如果是用-ipk就不行,改成你的/ipk就行了, sh1536 发表于 2021-11-9 19:15
这样看看,操蛋刚在虚拟机里试了没问题,又把程序拷到真机上运行了,得到了这张截图,不知道重启后我的系统 ...
激活到是不怕的KMS一样就行了,呵呵。能找到问题,还真的多亏了你,不然的话,我一直以为在DOS下是可以的情况下,在AU3中也是可以的,结果看了帮助,里面也是/,再一次谢谢你了 -ipk改为了/ipk
页:
[1]
2