论坛: 编程破解 标题: 用vc打造一个仅2.5k的win32GUI程序 复制本贴地址    
作者: 四不象 [tabris17]    论坛用户   登录

将下面的代码保存为.c文件

//-------------------------start---------------------------------

#include <windows.h>

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  switch (message)
  {
      case WM_DESTROY:
          PostQuitMessage (0);
          break;
      default:
          return DefWindowProc (hwnd, message, wParam, lParam);
  }
  return 0;
}

void WinEntry()
{
  HWND hwnd;
  MSG messages;
  WNDCLASSEX wincl;
  STARTUPINFO spinfo;
  HINSTANCE hInst=GetModuleHandle(NULL);
  wincl.hInstance = hInst;
  wincl.lpszClassName = "minitest";
  wincl.lpfnWndProc = WindowProcedure;
  wincl.style = CS_DBLCLKS;
  wincl.cbSize = sizeof (WNDCLASSEX);
  wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
  wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
  wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
  wincl.lpszMenuName = NULL;
  wincl.cbClsExtra = 0; 
  wincl.cbWndExtra = 0; 
  wincl.hbrBackground = (HBRUSH)COLOR_BACKGROUND;
  if(!RegisterClassEx(&wincl))
  goto exit;
  hwnd = CreateWindowEx(0,wincl.lpszClassName, "test window",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,544,375,HWND_DESKTOP,NULL,hInst,NULL);
  if(!hwnd)
  goto exit;
  GetStartupInfo(&spinfo);
  ShowWindow(hwnd,spinfo.wShowWindow);
  while (GetMessage (&messages, NULL, 0, 0))
  {
    TranslateMessage(&messages);
    DispatchMessage(&messages);
  }
  exit:ExitProcess(0);
}

//-------------------------end---------------------------

用vc打开,“编译”-“构件”,vc会提示建立一个“default project workspace”,选择“是”。然后在“工程”-“设置”里选择“link”选项卡,将“output”中的“EntryPoint”设置为“WinEntry”,在界面下方的“project option”中找到“/subsystem:console”,改为“/subsystem:windows”,再增加一个参数“/align:4096”。最后选择“release”发布,编译器会警告:“LINK : warning LNK4108: /ALIGN specified without /DRIVER or /VXD; image may not run”,不用理会它。现在你就可以在“release”文件夹下找一个2560字节的win32 GUI程序了。
该代码在windows 2000 sp3 + vc 6.0下编译通过。

地主 发表时间: 08/11 13:57

回复: 无可非议 [shesh]   版主   登录
直接用wasm32,还没这么麻烦.

B1层 发表时间: 08/12 09:09

回复: 四不象 [tabris17]   论坛用户   登录
偶不懂汇编的说 ^_^!

B2层 发表时间: 08/12 10:44

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号