GetExeName: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
m (Added category links.) |
m (Updated by user: Instructor (talk, contrib).) |
||
Line 7: | Line 7: | ||
: http://forums.winamp.com/showthread.php?s=&threadid=203228&goto=lastpost | : http://forums.winamp.com/showthread.php?s=&threadid=203228&goto=lastpost | ||
If function used without header | If a function is used without an header, you should put the function below in your script before calling it. | ||
== The Function == | == The Function == | ||
Line 16: | Line 16: | ||
____________________________________________________________________________ | ____________________________________________________________________________ | ||
Get installer filename (also valid case for Windows 9X). | |||
Get installer filename (also valid case for Windows 9X) | |||
Syntax: | Syntax: | ||
${GetExeName} $var | |||
Example: | Example: | ||
Section | Section | ||
${GetExeName} $R0 | |||
; $R0="C:\ftp\program.exe" | |||
SectionEnd*/ | SectionEnd*/ | ||
;--------------------------------------------------------------------------- | ;--------------------------------------------------------------------------- | ||
Function GetExeName | Function GetExeName | ||
!define GetExeName `!insertmacro GetExeNameCall` | |||
!macro GetExeNameCall _RESULT | |||
Call GetExeName | |||
Pop ${_RESULT} | |||
!macroend | |||
Push $0 | Push $0 | ||
Push $1 | Push $1 |
Revision as of 09:39, 24 June 2005
Author: Instructor (talk, contrib) |
Links
- Latest version of headers "nsh.zip"
- http://forums.winamp.com/showthread.php?s=&threadid=203228&goto=lastpost
If a function is used without an header, you should put the function below in your script before calling it.
The Function
/* ____________________________________________________________________________ GetExeName ____________________________________________________________________________ Get installer filename (also valid case for Windows 9X). Syntax: ${GetExeName} $var Example: Section ${GetExeName} $R0 ; $R0="C:\ftp\program.exe" SectionEnd*/ ;--------------------------------------------------------------------------- Function GetExeName !define GetExeName `!insertmacro GetExeNameCall` !macro GetExeNameCall _RESULT Call GetExeName Pop ${_RESULT} !macroend Push $0 Push $1 StrCpy $1 $CMDLINE 1 StrCmp $1 '"' 0 kernel StrCpy $1 0 IntOp $1 $1 + 1 StrCpy $0 $CMDLINE 1 $1 StrCmp $0 '"' 0 -2 IntOp $1 $1 - 1 StrCpy $0 $CMDLINE $1 1 goto end kernel: System::Call 'kernel32::GetModuleFileNameA(i 0, t .r0, i 1024) i r1' end: Pop $1 Exch $0 FunctionEnd