3,882
社区成员
发帖
与我相关
我的任务
分享
#define _X86_
#define WIN32_LEAN_AND_MEAN
#define _DLL
#define _MT
#define UNICODE
#include <windows.h>
#include <Shellapi.h>
#pragma optimize("gsy",on)
#pragma comment(lib,"kernel32.lib")
#pragma comment(lib,"shell32.lib")
#pragma comment(lib,"msvcrt.lib")
#if (_MSC_VER<1300)
#pragma comment(linker,"/RELEASE")
#endif
#pragma comment(linker, "-opt:nowin98")
#pragma comment(linker, "-entry:Main")
#pragma comment(linker, "-opt:ref")
#pragma comment(linker, "-merge:.rdata=.text")
#pragma comment(linker, "-merge:.data=.text")
#pragma comment(linker, "-merge:.reloc=.text")
#pragma comment(linker, "-subsystem:console")
#pragma comment(linker,"-ignore:4078") // ignore warning about merged sections
#define OUTPUT "Hallo Welt sagt: %ws\n"
int __cdecl mainW(int argc, LPWSTR *argv)
{
LPWSTR exe = *argv;
/*
while(argc > 1)
{
// Take next parameter (jumps over first)
LPWSTR arg = *(++argv);
// Next parameter
--argc;
// Check for the contents of the parameter here
// -> ...
}
*/
printf(OUTPUT, exe);
return 0;
}
void __cdecl Main(void)
{
int argc;
LPWSTR* argv = CommandLineToArgvW(GetCommandLineW(), &argc);
ExitProcess(mainW(argc, argv));
}