removed (need to be updated)
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1189 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
f3e3b7351b
commit
1ba2cf9793
2 changed files with 0 additions and 71 deletions
|
@ -1,23 +0,0 @@
|
||||||
I'm just finished and going to sleep, so a few words only.
|
|
||||||
This is alpha release, just for testing. Report bugs please.
|
|
||||||
|
|
||||||
That version limits:
|
|
||||||
|
|
||||||
0. I've not noticed the NSIS team inverted the 'calling convention', arguments
|
|
||||||
are passing to stack from left to right during d::p call, so you should invert
|
|
||||||
system.txt arguments order. See SystemEx.nsi for examples.
|
|
||||||
|
|
||||||
1. PT_VOID and PT_BOOLEAN are unsupported.
|
|
||||||
2. PT_LONG without Pointer specifier is not allowed.
|
|
||||||
3. NSIS->Call PT_LONG converts as 32 bits. Back conversion bit-width is unknown.
|
|
||||||
By the way NSIS doesn't support int64 operations, so you can process received
|
|
||||||
long values as strings only...
|
|
||||||
4. Generaly untested :)
|
|
||||||
5. Requires MSVC++ 7.0 to compile :) Sorry....
|
|
||||||
|
|
||||||
Todo (will be done in a few days):
|
|
||||||
1. Structures work (thru functions).
|
|
||||||
2. Callbacks.
|
|
||||||
3. Arg-lists
|
|
||||||
4. Cdecl convention
|
|
||||||
5. Optimizations and so on...
|
|
|
@ -1,48 +0,0 @@
|
||||||
; This is just an example of System Plugin
|
|
||||||
;
|
|
||||||
; Read LastComments.txt and System.txt (unfinished)
|
|
||||||
;
|
|
||||||
; (c) BSForce, 2002
|
|
||||||
|
|
||||||
Name "System Plugin Example"
|
|
||||||
OutFile "SystemEx.exe"
|
|
||||||
|
|
||||||
Function .onInit
|
|
||||||
|
|
||||||
; First example: Message box, uses PartAddr, ShortAddr, Call
|
|
||||||
|
|
||||||
System::PartAddr "user32.dll?MessageBoxA?iissi"
|
|
||||||
Pop $0
|
|
||||||
System::ShortAddr "ssss?1nssn" $0
|
|
||||||
Pop $0
|
|
||||||
System::Call 33 "Example 1" "Just something" 0 $0
|
|
||||||
Pop $3
|
|
||||||
Pop $2
|
|
||||||
MessageBox MB_OK "Result: $1, strings '$2' and '$3'"
|
|
||||||
System::Free $0
|
|
||||||
Pop $0
|
|
||||||
|
|
||||||
; Second example: uses FullAddr, Call, incorpotates int64, returns to $INSTDIR
|
|
||||||
|
|
||||||
System::FullAddr "snnn?s1al2" "kernel32.dll?GetDiskFreeSpaceExA?isplplpl"
|
|
||||||
Pop $0
|
|
||||||
System::Call "c:\" $0
|
|
||||||
Pop $3
|
|
||||||
MessageBox MB_OK "Path '$1', Free '$R0', Total '$INSTDIR', FreeUser '$2', Result $3"
|
|
||||||
System::Free $0
|
|
||||||
Pop $0
|
|
||||||
|
|
||||||
; Third example: uses FullCall
|
|
||||||
|
|
||||||
System::FullCall "?9" "kernel32.dll?GetVersion?i"
|
|
||||||
; Version aquired, but we wonna built number for example
|
|
||||||
IntOp $8 $9 / 65536
|
|
||||||
MessageBox MB_OK "Aquired windows version: $9 (Build $8)"
|
|
||||||
|
|
||||||
Quit
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Section "ThisNameIsIgnoredSoWhyBother?"
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
; eof
|
|
Loading…
Add table
Add a link
Reference in a new issue