Archive: Get results of executable


Get results of executable
...sorry for maybe usual question...but I spent half an hour and can't find an answer

How can I get result of silent executable file? Let's say I want to run some.exe with some_params and get output from console(of course some.exe is console app).

tnx,
Roman


See the included NsExec plugin.


Originally posted by Red Wine
See the included NsExec plugin.
I use
ExecWait '"$TEMP\WhoUses.exe -m kernel32.dll" > "c:\WhoUses.txt"'

or
nsExec::Exec '"$TEMP\WhoUses.exe -m kernel32.dll" > "c:\WhoUses.txt"'

but it doesn't work.
Can you help?

try using nsExec::ExecToStack without the redirection


Yeh, use ExecToStack.
The reason your output redirection was not working was because you need to use COMSPEC.

By the way, I'm working on a plugin so that you don't have to use WhoUses.exe. It uses the same Windows NT+ only undocumented API's but with an embedded NSIS list displaying programs to close.

Stu


I feel lack of info on nsExec. Where can find the description of this plugin?


http://nsis.sourceforge.net/Docs/nsExec/nsExec.txt (First hit on google btw)


yes, you are right but I was looking in plugins and nsExec::Exec in google


guys, it doesn't work...

StrCpy $3 '$TEMP\WhoUses.exe -m kernel32.dll > c:\WhoUses.txt'

nsExec::ExecToStack $3

FileOpen $0 'c:\WhoUses1.txt' 'w'
FileWrite $0 $3
FileClose $0

but command stored in c:\WhoUses1.txt is ok


finally I've done it

StrCpy $3 '$TEMP\WhoUses.exe -m kernel32.dll'
nsExec::ExecToStack $3
Pop $0
Pop $1
MessageBox MB_OK "$1"

NSIS become really challenging. Feel like I'm a first week in IT :)


My NSIS plugin will be ready soon which works faster than WhoUses.exe and does not use Microsoft Foundation Classes.
It also avoids the awful use of TerminateThread which results in a memory leak that WhoUses.exe has. Last of all, it avoids the system latch up of NtQueryObject which occurs on file handles that it does not have access to.

Stu


I'm really looking forward to your plugin. I even was going to write similar plugin to implement some my requirements. I have some troubles with WhoUses and I'd really like to have NSIS functionality similar to embedded in InstallShield when it says what applications are using/blocking system resources your want to have access to.
One more comment: it would be useful to get not only exe file name like firefox.exe but also description of application which will help user to find it in tray. In my case: WINAMP.COM | Forums - Reply to Topic - Mozilla Firefox

So, when can we expect your great plugin? :)


Sorry, I should have said;
http://forums.winamp.com/showthread.php?threadid=274168

Stu


cool!
Great job!
I'll test it asap