Cap0 Posted December 24, 2007 Posted December 24, 2007 How do you do it? i mean, in C++ it returns its process information stored..like: int main() { STARTUPINFO start; PROCESS_INFORMATION proc; ZeroMemory(&start,sizeof(start)); start.cb = sizeof(start); ZeroMemory(&proc,sizeof(proc)); CreateProcess("C:\\test",NULL,NULL,NULL,FALSE,0,NULL,NULL,&start,&proc); } How would you do the following in Autoit?..i'm not good with structs and all(hell, i haven't scripted in autoit since last year).
James Posted December 24, 2007 Posted December 24, 2007 Look at the DLLCall function. Blog - Seriously epic web hosting - Twitter - GitHub - Cachet HQ
Zedna Posted December 24, 2007 Posted December 24, 2007 JamesB said: Look at the DLLCall function.and DllStructCreate Resources UDF ResourcesEx UDF AutoIt Forum Search
James Posted December 24, 2007 Posted December 24, 2007 Yeah, I forgot that one. Good reminder Zedna Blog - Seriously epic web hosting - Twitter - GitHub - Cachet HQ
FrenchTroll Posted December 24, 2007 Posted December 24, 2007 Func _CreateProcess($sAppName, $sCommand, $pSecurity, $pThread, $fInherit, $iFlags, $pEnviron, $sDir, $pStartupInfo, $pProcess) Local $pAppName, $tAppName, $pCommand, $tCommand, $pDir, $tDir, $aResult if $sAppName <> "" then $tAppName = DllStructCreate("char Text[" & Stringlen($sAppName) + 1 & "]") $pAppName = DllStructGetPtr($tAppName) DllStructSetData($tAppName, "Text", $sAppName) endif if $sCommand <> "" then $tCommand = DllStructCreate("char Text[" & Stringlen($sCommand) + 1 & "]") $pCommand = DllStructGetPtr($tCommand) DllStructSetData($tCommand, "Text", $sCommand) endif if $sDir <> "" then $tDir = DllStructCreate("char Text[" & Stringlen($sDir ) + 1 & "]") $pDir = DllStructGetPtr($tDir) DllStructSetData($tDir, "Text", $sDir) endif $aResult = DllCall("Kernel32.dll", "int", "CreateProcess", "ptr", $pAppName, "ptr", $pCommand, "ptr", $pSecurity, "ptr", $pThread, _ "int", $fInherit, "int", $iFlags, "ptr", $pEnviron, "ptr", $pDir, "ptr", $pStartupInfo, "ptr", $pProcess) Return SetError(GetLastErreur(), 0, $aResult[0]<>0) EndFunc Func GetLastErreur() Local $aResult $aResult = DllCall("Kernel32.dll", "int", "GetLastError") Return $aResult[0] EndFunc It's in A3LWinAPI.au3
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now