I just want to announce the release of my project here: http://www.codeproject.com/Articles/1136934/Accessing-Windows-API-with-Plain-x-Assembly-Langua (http://www.codeproject.com/Articles/1136934/Accessing-Windows-API-with-Plain-x-Assembly-Langua)
Maybe some other assembly enthusiastics will like it.
Looks like you have done some interesting work here. If you write a prologue/epilogue pair of macros, you can do both high level and low level procedures. The high level ones look like this.
WndProc proc hWin:QWORD,uMsg:QWORD,wParam:QWORD,lParam:QWORD
For high level you automate the filling of the shadow space with the first 4 register arguments and can use any of the arguments directly. Low level bypasses all of this passing directly in the 4 registers to a procedure that has no stack frame. The number of registers when used correctly make algorithms a lot easier to write and you can avoid using the stack, just a slightly different brain to Win32.
Nice project, Stephan, really :t
The multilingual interface (English, German and Italian) might need some attention, though:
Some splash screen shows then a crash dialog
Exception Code: c0000005
Fault Module Name: ole32.dll
Running windows 7 x64 - no av or other products that might cause an issue
Both of the applications cannot run XP 64-bit :
setup.exe is not a valid Win32 application.
micrommander is not a valid Win32 application.
I went to download the project but the site requires that you log in first so I did not bother as I am tired of spam from sites I have visited once. RE: It not running correctly on some OS versions, this could probably be fixed easily enough as it is likely to be how the stackframe is setup. As far as 64 bit XP, I don't know how compatible it is with Win7 64 and later.
The file manager works fine on the Windows 7 Preinstallation Environment 64-bit ( Win7PE SE 64-bit )
Quote from: hutch-- on October 12, 2016, 10:14:12 AM
I went to download the project but the site requires that you log in first so I did not bother as I am tired of spam from sites I have visited once. RE: It not running correctly on some OS versions, this could probably be fixed easily enough as it is likely to be how the stackframe is setup. As far as 64 bit XP, I don't know how compatible it is with Win7 64 and later.
Umm... after all the WoW 64 stuff I've been going through, I can tell you from first hand, 64 bit XP isn't anywhere near 64bit Vista+. As for code functionality, 64bit stuff rarely worked correctly in XP due to it being a "first version" of 64 bit for Microsoft on a whole. XP64 bit is Vista x64 SP0, but without the redirection/reflections in the registry, and those parts are undocumented. Not to mention, most of the x64 environment changed in Vista and don't exist in XP64. I *think* the Syswow64 folder *may* be in XP64, but don't quote me on it, it's as rare as Vista 32bit Enterprise.
GuruSR.
The Wow64 system exists on Windows XP 64-bit :
C:\WINDOWS\SysWOW64
I am able to do 64-bit programming on this operating system. No any problem.
Commander fails, when you open the administrator folders from a simple user :(
Thanks for all the feedback :icon_cool: I'll check some of the errors. I tried only on Win10 x64, never saw a XP x64 version. Win7 however should work..
Quote from: Vortex on October 13, 2016, 06:08:39 AM
The Wow64 system exists on Windows XP 64-bit :
C:\WINDOWS\SysWOW64
I am able to do 64-bit programming on this operating system. No any problem.
Ah, okay. I know the redirection of it in the registry is a silly pain in the behind. Much like my woes with figuring how to migrate a 32bit registry into that Wow64 mess... So far, partially working, crashes IE (ugh), other things like resources aren't being registered (or I got harsh on the restrictions and cut my own throat, not sure what stuff in the registry I need to keep, M$ still guards all that with secrecy).
GuruSR.
In order for the programs to run in XP they must be linked with the "/SUBSYSTEM:WINDOWS,5.01" Linker switch. The Linker DP4 used defaults to "6.0" that is Vista, the minimum OS version required.
Regards
Quote from: User_1960 on November 29, 2016, 05:51:06 PM
In order for the programs to run in XP they must be linked with the "/SUBSYSTEM:WINDOWS,5.01" Linker switch. The Linker DP4 used defaults to "6.0" that is Vista, the minimum OS version required.
Regards
Hi, I tried this and 5.01 is considered as an error by link.exe.
Is there another way to make programs run since XP ?
Quote from: Negens on January 16, 2017, 09:32:48 AM
Quote from: User_1960 on November 29, 2016, 05:51:06 PM
In order for the programs to run in XP they must be linked with the "/SUBSYSTEM:WINDOWS,5.01" Linker switch. The Linker DP4 used defaults to "6.0" that is Vista, the minimum OS version required.
Regards
Hi, I tried this and 5.01 is considered as an error by link.exe.
Is there another way to make programs run since XP ?
Which Linker are you using ?
x64 -> /SUBSYSTEM:WINDOWS,5.2
first Windows x64 was Windows XP x64 / Windows Server 2003 ?