malu05 Posted March 3, 2008 Share Posted March 3, 2008 How do i get the full process path from via only knowing the processID? [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center] Link to comment Share on other sites More sharing options...
BigDod Posted March 3, 2008 Share Posted March 3, 2008 A search would have revealed This Time you enjoyed wasting is not wasted time ......T.S. Elliot Suspense is worse than disappointment................Robert Burns God help the man who won't help himself, because no-one else will...........My Grandmother Link to comment Share on other sites More sharing options...
malu05 Posted March 3, 2008 Author Share Posted March 3, 2008 A search would have revealed ThisHaha.. just found that.. didnt find it in first search... but the tag "PID" helped. [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center] Link to comment Share on other sites More sharing options...
tonycst Posted September 20, 2014 Share Posted September 20, 2014 That topic is locked and does not work 100% Only some procesess terurn path. explorer.exe returns weird character and other programs return questionmarks. Why is that ? Is there an alternative that would not only point to the folder but highlight the file as well ?  Thanks for reading this old topic. Thanks ! Link to comment Share on other sites More sharing options...
kylomas Posted September 20, 2014 Share Posted September 20, 2014 You could try _WinAPI_EnumProcessModules. If that does not work check back in another 6.5 years. Forum Rules        Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
tonycst Posted September 20, 2014 Share Posted September 20, 2014 (edited) The only reason why it doesnt work is because i dont know how to use it. Not only that, but my listview is killing the script by constantly reading from it. Have no idea how to make it read once and then stop unless item is clicked. Please have a look at line 73 expandcollapse popup#cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.12.0 Author: myName Script Function: Template AutoIt script. #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <Process.au3> #include <WinAPIProc.au3> $ProgTitle = "Unhide 'n' Hide Hiddent Windows" $File = (@DesktopDir & "\IgnoreList.txt") $Gui = GUICreate ($ProgTitle,470,600) GUICtrlCreateGroup ("Windows",5,5,290,590) $Listview = GUICtrlCreateListView ("Title|Handle",10,25,280,565) _GUICtrlListView_SetColumnWidth ( $Listview, 0, 190 ) _GUICtrlListView_SetColumnWidth ( $Listview, 1,70 ) GUICtrlCreateGroup ("Action",295,5,170,400) $Title = GUICtrlCreateInput ("Wudow Title",300,25,160,20) $Handle = GUICtrlCreateInput ("Window Handle",300,45,160,20) $Process = GUICtrlCreateInput ("Process Name",300,65,160,20) $processPID = GUICtrlCreateInput ("Process PID",300,85,160,20) $AddtoIgnore = GUICtrlCreateButton ("Add to Ignore.txt",300,105,160,25) $OpenProcessFile = GUICtrlCreateButton ("Open Process File",300,130,160,25) $TerminateProcess = GUICtrlCreateButton ("Terminate Process",300,155,160,25) $Show= GUICtrlCreateButton ("Show this window",300,180,160,25) $Hide= GUICtrlCreateButton ("Hide this window",300,205,160,25) _GetWindows() GUISetState (@SW_SHOW,$Gui) While 1 $MSG = GUIGetMsg() If $MSG = $GUI_EVENT_CLOSE Then ExitLoop If $MSG = $AddtoIgnore Then $FileRead = FileRead ($File) $TitleRead = GUICtrlRead ($Title) If StringInStr ($FileRead,"["& $TitleRead & "]") = 0 Then FileClose ($FileRead) FileWrite ($File,"["& $TitleRead & "]") GUICtrlSetData ($Title,"") GUICtrlSetData ($Handle,"") Else $AskToRemove = MsgBox(48+4,'Warning','Title ' & $TitleRead & " is already aded to Ignore.txt file." & @CRLF & "Would you like to remove it ?") If $AskToRemove = 6 Then $NewFile = StringReplace ($FileRead,"["& $TitleRead & "]","") $FileOpen = FileOpen ($File,2) ;Open and erase previous content FileWrite ($FileOpen,$NewFile) FileClose ($FileOpen) MsgBox(32,"information","Done") EndIf EndIf _GetWindows() Endif If $MSG = $TerminateProcess Then ProcessClose (GUICtrlRead ($Process)) If $MSG = $OpenProcessFile Then $PID = WinGetProcess (GUICtrlRead ($Title)) $PName = _ProcessGetName ($PID) $FullPath = _ProcessGetLocation($PID) $Test = StringReplace ($FullPath,$PName,"") $FinalPath = StringTrimRight ($Test,1) If $FinalPath = "" Then MsgBox (16,"Error","Unable to get path" & @CRLF & $FullPath) Else ShellExecute ($FinalPath) EndIf EndIf $Index = _GUICtrlListView_GetNextItem ($Listview) If $Listview > "" Then $Index = _GUICtrlListView_GetNextItem ($Listview) $SelectedItemTitle = _GUICtrlListView_GetItemText ($Listview,$Index,0) $SelecedItemHandle = _GUICtrlListView_GetItemText ($Listview,$Index,1) $PID = WinGetProcess (GUICtrlRead ($Title),"") $PName = _ProcessGetName ($PID) $APIPATH = _WinAPI_EnumProcessModules ($PID) GUICtrlSetData ($Title,$SelectedItemTitle) GUICtrlSetData ($Handle,$SelecedItemHandle) GUICtrlSetData ($processPID,$PID) GUICtrlSetData ($Process,$PName) ;_GUICtrlListView_SetItemSelected ($Listview,$Index,False);deselect item to prevent this if statement triggered without manually clicking. EndIf WEnd Func _GetWindows() _GUICtrlListView_DeleteAllItems($Listview) $IgnoreList = FileRead ($File) $aList = WinList() For $i = 1 To $aList[0][0] If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 1) Then If StringInStr ($IgnoreList,"[" & $aList[$i][0] & "]") = 0 Then GUICtrlCreateListViewItem ($aList[$i][0] & "|" & $aList[$i][1],$Listview) EndIf EndIf Next EndFunc Func _ProcessGetLocation($iPID) Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID) If $aProc[0] = 0 Then Return SetError(1, 0, '') Local $vStruct = DllStructCreate('int[1024]') DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0) Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048) If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '') Return $aReturn[3] EndFunc Edited September 20, 2014 by tonycst Link to comment Share on other sites More sharing options...
kylomas Posted September 20, 2014 Share Posted September 20, 2014 This will always be true as $listview is a control id If $Listview > "" Then Maybe you want if $msg = $listview Forum Rules        Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
tonycst Posted September 20, 2014 Share Posted September 20, 2014 Doesn't work. Msg goes not pick anything up when I click items. U haven't tried the script but thanks Link to comment Share on other sites More sharing options...
kylomas Posted September 20, 2014 Share Posted September 20, 2014 I was addressing this problem... Not only that, but my listview is killing the script by constantly reading from it. Have no idea how to make it read once and then stop unless item is clicked. Forum Rules        Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
kylomas Posted September 20, 2014 Share Posted September 20, 2014 (edited) Also, everytime throught the messageloop you are doing this... $Index = _GUICtrlListView_GetNextItem ($Listview) It's difficult to follow what you want to do and what exactly is wrong... edit: By the way, I did run it. As you have it coded it takes appx. 10% CPU. When changed as I suggested it takes < .1% Edited September 20, 2014 by kylomas Forum Rules        Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
Kilmatead Posted September 20, 2014 Share Posted September 20, 2014 (edited) Is there an alternative that would not only point to the folder but highlight the file as well? Â Replace your ShellExecute($FinalPath) with the long-winded yet aptly named: _WinAPI_ShellOpenFolderAndSelectItems($FullPath) (Requires #include <WinAPIShellEx.au3>) Edited September 20, 2014 by Kilmatead Link to comment Share on other sites More sharing options...
kylomas Posted September 20, 2014 Share Posted September 20, 2014 (edited) tonycst, As near as I can determine this is what you are trying to do... expandcollapse popup#cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.12.0 Author: myName Script Function: Template AutoIt script. #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <Process.au3> #include <WinAPIProc.au3> #include <WindowsConstants.au3> ; <-------------------------------------------- $ProgTitle = "Unhide 'n' Hide Hiddent Windows" $File = (@DesktopDir & "\IgnoreList.txt") $Gui = GUICreate ($ProgTitle,470,600) GUICtrlCreateGroup ("Windows",5,5,290,590) $Listview = GUICtrlCreateListView ("Title|Handle",10,25,280,565) _GUICtrlListView_SetColumnWidth ( $Listview, 0, 190 ) _GUICtrlListView_SetColumnWidth ( $Listview, 1,70 ) GUICtrlCreateGroup ("Action",295,5,170,400) $Title = GUICtrlCreateInput ("Wudow Title",300,25,160,20) $Handle = GUICtrlCreateInput ("Window Handle",300,45,160,20) $Process = GUICtrlCreateInput ("Process Name",300,65,160,20) $processPID = GUICtrlCreateInput ("Process PID",300,85,160,20) $AddtoIgnore = GUICtrlCreateButton ("Add to Ignore.txt",300,105,160,25) $OpenProcessFile = GUICtrlCreateButton ("Open Process File",300,130,160,25) $TerminateProcess = GUICtrlCreateButton ("Terminate Process",300,155,160,25) $Show= GUICtrlCreateButton ("Show this window",300,180,160,25) $Hide= GUICtrlCreateButton ("Hide this window",300,205,160,25) $ListView_Dummy = GUICtrlCreateDummy() ; <------------------------------------- _GetWindows() GUISetState (@SW_SHOW,$Gui) GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ; <------------------------------------- While 1 $MSG = GUIGetMsg() If $MSG = $GUI_EVENT_CLOSE Then ExitLoop If $MSG = $AddtoIgnore Then $FileRead = FileRead ($File) $TitleRead = GUICtrlRead ($Title) If StringInStr ($FileRead,"["& $TitleRead & "]") = 0 Then FileClose ($FileRead) FileWrite ($File,"["& $TitleRead & "]") GUICtrlSetData ($Title,"") GUICtrlSetData ($Handle,"") Else $AskToRemove = MsgBox(48+4,'Warning','Title ' & $TitleRead & " is already aded to Ignore.txt file." & @CRLF & "Would you like to remove it ?") If $AskToRemove = 6 Then $NewFile = StringReplace ($FileRead,"["& $TitleRead & "]","") $FileOpen = FileOpen ($File,2) ;Open and erase previous content FileWrite ($FileOpen,$NewFile) FileClose ($FileOpen) MsgBox(32,"information","Done") EndIf EndIf _GetWindows() Endif If $MSG = $TerminateProcess Then ProcessClose (GUICtrlRead ($Process)) If $MSG = $OpenProcessFile Then $PID = WinGetProcess (GUICtrlRead ($Title)) $PName = _ProcessGetName ($PID) $FullPath = _ProcessGetLocation($PID) $Test = StringReplace ($FullPath,$PName,"") $FinalPath = StringTrimRight ($Test,1) If $FinalPath = "" Then MsgBox (16,"Error","Unable to get path" & @CRLF & $FullPath) Else ShellExecute ($FinalPath) EndIf EndIf If $MSG = $ListView_Dummy Then ; <----------------------------------------------- $Index = _GUICtrlListView_GetNextItem ($Listview) $SelectedItemTitle = _GUICtrlListView_GetItemText ($Listview,$Index,0) $SelecedItemHandle = _GUICtrlListView_GetItemText ($Listview,$Index,1) $PID = WinGetProcess (GUICtrlRead ($Title),"") $PName = _ProcessGetName ($PID) $APIPATH = _WinAPI_EnumProcessModules ($PID) GUICtrlSetData ($Title,$SelectedItemTitle) GUICtrlSetData ($Handle,$SelecedItemHandle) GUICtrlSetData ($processPID,$PID) GUICtrlSetData ($Process,$PName) ;_GUICtrlListView_SetItemSelected ($Listview,$Index,False);deselect item to prevent this if statement triggered without manually clicking. EndIf WEnd Func _GetWindows() _GUICtrlListView_DeleteAllItems($Listview) $IgnoreList = FileRead ($File) $aList = WinList() For $i = 1 To $aList[0][0] If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 1) Then If StringInStr ($IgnoreList,"[" & $aList[$i][0] & "]") = 0 Then GUICtrlCreateListViewItem ($aList[$i][0] & "|" & $aList[$i][1],$Listview) EndIf EndIf Next EndFunc Func _ProcessGetLocation($iPID) Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID) If $aProc[0] = 0 Then Return SetError(1, 0, '') Local $vStruct = DllStructCreate('int[1024]') DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0) Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048) If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '') Return $aReturn[3] EndFunc ; added the detection routine for DBL click Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) Local $tNMHDR, $hWndFrom, $iCode, $w $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $hWndFrom = DllStructGetData($tNMHDR, "hWndFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case guictrlgethandle($listview) Switch $iCode Case $NM_DBLCLK GUICtrlSendToDummy($ListView_Dummy) Case $LVN_ITEMCHANGED GUICtrlSendToDummy($ListView_Dummy) EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc changed / added lines are indicated by "<-----------------------------------------------" edit: The code you are working from is several generations of Autoit old. You may need to change several things to get what you want. edit2: added code to support moving through LV with arrow keys edit3: changed $openprocessfile routine expandcollapse popup#cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.12.0 Author: myName Script Function: Template AutoIt script. #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <Process.au3> #include <WinAPIProc.au3> #include <WindowsConstants.au3> ; <-------------------------------------------- $ProgTitle = "Unhide 'n' Hide Hiddent Windows" $File = (@DesktopDir & "\IgnoreList.txt") $Gui = GUICreate ($ProgTitle,470,600) GUICtrlCreateGroup ("Windows",5,5,290,590) $Listview = GUICtrlCreateListView ("Title|Handle",10,25,280,565) _GUICtrlListView_SetColumnWidth ( $Listview, 0, 190 ) _GUICtrlListView_SetColumnWidth ( $Listview, 1,70 ) GUICtrlCreateGroup ("Action",295,5,170,400) $Title = GUICtrlCreateInput ("Wudow Title",300,25,160,20) $Handle = GUICtrlCreateInput ("Window Handle",300,45,160,20) $Process = GUICtrlCreateInput ("Process Name",300,65,160,20) $processPID = GUICtrlCreateInput ("Process PID",300,85,160,20) $AddtoIgnore = GUICtrlCreateButton ("Add to Ignore.txt",300,105,160,25) $OpenProcessFile = GUICtrlCreateButton ("Open Process File",300,130,160,25) $TerminateProcess = GUICtrlCreateButton ("Terminate Process",300,155,160,25) $Show= GUICtrlCreateButton ("Show this window",300,180,160,25) $Hide= GUICtrlCreateButton ("Hide this window",300,205,160,25) $ListView_Dummy = GUICtrlCreateDummy() ; <------------------------------------- _GetWindows() GUISetState (@SW_SHOW,$Gui) GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ; <------------------------------------- While 1 $MSG = GUIGetMsg() If $MSG = $GUI_EVENT_CLOSE Then ExitLoop If $MSG = $AddtoIgnore Then $FileRead = FileRead ($File) $TitleRead = GUICtrlRead ($Title) If StringInStr ($FileRead,"["& $TitleRead & "]") = 0 Then FileClose ($FileRead) FileWrite ($File,"["& $TitleRead & "]") GUICtrlSetData ($Title,"") GUICtrlSetData ($Handle,"") Else $AskToRemove = MsgBox(48+4,'Warning','Title ' & $TitleRead & " is already aded to Ignore.txt file." & @CRLF & "Would you like to remove it ?") If $AskToRemove = 6 Then $NewFile = StringReplace ($FileRead,"["& $TitleRead & "]","") $FileOpen = FileOpen ($File,2) ;Open and erase previous content FileWrite ($FileOpen,$NewFile) FileClose ($FileOpen) MsgBox(32,"information","Done") EndIf EndIf _GetWindows() Endif If $MSG = $TerminateProcess Then ProcessClose (GUICtrlRead ($Process)) If $MSG = $OpenProcessFile Then $FullPath = _WinAPI_GetProcessFileName(WinGetProcess (GUICtrlRead ($Title))) if @error <> 0 or $FullPath = "" then continueloop ConsoleWrite('shelling to ' & $FullPath & @CRLF) ShellExecute ($FullPath) EndIf If $MSG = $ListView_Dummy Then ; <----------------------------------------------- $Index = _GUICtrlListView_GetNextItem ($Listview) $SelectedItemTitle = _GUICtrlListView_GetItemText ($Listview,$Index,0) $SelecedItemHandle = _GUICtrlListView_GetItemText ($Listview,$Index,1) $PID = WinGetProcess (GUICtrlRead ($Title),"") $PName = _ProcessGetName ($PID) $APIPATH = _WinAPI_EnumProcessModules ($PID) GUICtrlSetData ($Title,$SelectedItemTitle) GUICtrlSetData ($Handle,$SelecedItemHandle) GUICtrlSetData ($processPID,$PID) GUICtrlSetData ($Process,$PName) ;_GUICtrlListView_SetItemSelected ($Listview,$Index,False);deselect item to prevent this if statement triggered without manually clicking. EndIf WEnd Func _GetWindows() _GUICtrlListView_DeleteAllItems($Listview) $IgnoreList = FileRead ($File) $aList = WinList() For $i = 1 To $aList[0][0] If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 1) Then If StringInStr ($IgnoreList,"[" & $aList[$i][0] & "]") = 0 Then GUICtrlCreateListViewItem ($aList[$i][0] & "|" & $aList[$i][1],$Listview) EndIf EndIf Next EndFunc Func _ProcessGetLocation($iPID) Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID) If $aProc[0] = 0 Then Return SetError(1, 0, '') Local $vStruct = DllStructCreate('int[1024]') DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0) Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048) If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '') Return $aReturn[3] EndFunc ; added the detection routine for DBL click Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) Local $tNMHDR, $hWndFrom, $iCode, $w $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $hWndFrom = DllStructGetData($tNMHDR, "hWndFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case guictrlgethandle($listview) Switch $iCode Case $NM_DBLCLK GUICtrlSendToDummy($ListView_Dummy) Case $LVN_ITEMCHANGED GUICtrlSendToDummy($ListView_Dummy) EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc Edited September 21, 2014 by kylomas Forum Rules        Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
tonycst Posted September 21, 2014 Share Posted September 21, 2014 Whats a dummy thing for and what does it do that makes listview read when clicked while listview its self does not return any values when clicked. It kinda does work but it takes 2 clicks to get correct process.exe. I was never able to figure out why but ok, good enough for me to start learning something from this. THanks ! Link to comment Share on other sites More sharing options...
tonycst Posted September 21, 2014 Share Posted September 21, 2014 I also noticed that _ProcessGetLocation does not work with C drive. It only identifies exe locations of other hard drives. Why is that ? Func _ProcessGetLocation($iPID) Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID) If $aProc[0] = 0 Then Return SetError(1, 0, '') Local $vStruct = DllStructCreate('int[1024]') DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0) Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048) If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '') Return $aReturn[3] EndFunc Link to comment Share on other sites More sharing options...
kylomas Posted September 21, 2014 Share Posted September 21, 2014 (edited) tonycst, This $FullPath = _WinAPI_GetProcessFileName(WinGetProcess (GUICtrlRead ($Title))) takes the place of _processgetlocation. Whats a dummy thing for and what does it do that makes listview read when clicked while listview its self does not return any values when clicked.  The dummy control is actioned by a notification message ($NM_DBLCLK or $LVN_ITEMCHANGED in your case). It will then execute whatever code is in the message loop for that control. It kinda does work but it takes 2 clicks to get correct process.exe. I was never able to figure out why but ok, good enough for me to start learning something from this.  There are many notification messages. I used these two for the sake of illustration. You can find the messages in ListViewConstants.au3. kylomas Edited September 21, 2014 by kylomas Forum Rules        Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
tonycst Posted September 23, 2014 Share Posted September 23, 2014 $FullPath = _WinAPI_GetProcessFileName(WinGetProcess (GUICtrlRead ($Title))) Still doesnt work for all processes. Most processes that maybe services are not working. It doesnt even work for explorer.exe. Â But thanks for helping to remove entire function from the script and replace it with this one line. Thats awesome Link to comment Share on other sites More sharing options...
kylomas Posted September 23, 2014 Share Posted September 23, 2014 What does "doesn't work" mean, exactly. Still doesnt work for all processes. Most processes that maybe services are not working. It doesnt even work for explorer.exe. Forum Rules        Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
tonycst Posted September 23, 2014 Share Posted September 23, 2014 $FullPath = _WinAPI_GetProcessFileName(WinGetProcess (GUICtrlRead ($Title))) It does not return all processes paths. Some return blank such as explorer.exe Link to comment Share on other sites More sharing options...
funkey Posted September 23, 2014 Share Posted September 23, 2014 Read this: '?do=embed' frameborder='0' data-embedContent>> Programming today is a race between software engineers striving tobuild bigger and better idiot-proof programs, and the Universetrying to produce bigger and better idiots.So far, the Universe is winning. Link to comment Share on other sites More sharing options...
tonycst Posted September 23, 2014 Share Posted September 23, 2014 Its confusing. Post reffers to some UDF i need to include that has dead link. I ran the scrip in X64 and it worked. I hate the way windows works with 64bit with all the redirection garbage etc. Would have been allot easier to just add "Program Files (X64)" and then "Program Files (X128)" or what ever comes next, instead of having (X64) in "Program Files" and redirecting 32bit to "Program Files (x86)" Too many issues. Link to comment Share on other sites More sharing options...
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