给一个你参考一下:
program project;uses
  windows,Messages;
const
  appname='abc';var
  aMessage:tmsg;
  hwindow,button1,button2:hwnd;function WindowProc(window:hwnd;amessage,wparam,lparam:longint):longint;stdcall;export;
begin
  windowproc:=0;
  case amessage of
    WM_DESTROY:
    begin
      destroywindow(button1);
      destroywindow(button2);
      PostQuitMessage(0);
      exit;
    end;
    wm_command:
    if lparam=button1 then
    begin
        MessageBox(hwindow,'fksd','kfdsl',MB_OK+MB_ICONINFORMATION);
    end;
  end;
  windowproc:=defwindowproc(window,aMessage,wParam,lParam);
end;function WinRegister:boolean;
var
  WindowClass:TWndClass;
begin
  WindowClass.style:=cs_hredraw or cs_vredraw ;
  windowclass.lpfnWndProc:=@windowProc;
  windowClass.cbClsExtra:=0;
  windowClass.cbWndExtra:=0;
  windowclass.hInstance:=hinstance;
  windowclass.hIcon:=LoadIcon(0,IDI_APPLICATION);
  windowclass.hCursor:=LoadCursor(0,IDC_ARROW);
  windowclass.hbrBackground:=COLOR_BTNSHADOW;
  windowclass.lpszMenuName:=nil;
  windowclass.lpszClassName:=appname;
  result:=Registerclass(windowClass)<>0;
end;function WinCreate:hwnd;
var
  hWindow:hwnd;
  pchartemp:pchar;
  param:tagCREATESTRUCT;
begin
  hwindow:=CreateWindowEx(WS_EX_RTLREADING or WS_EX_APPWINDOW,appname,'文件分解与合并演示程序',WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,0,0,hinstance,nil);
  if hwindow<>0 then
  begin
    param.cx:=20;
    param.cy:=20;
    param.dwExStyle:=WS_CHILD+BS_PUSHBUTTON;
    param.hInstance:=hinstance;
    param.hMenu:=0;
    param.hwndParent:=hwindow;
    param.lpszClass:='button';
    param.x:=20;
    param.y:=20;
    pchartemp:='Kingron TEMP';
    button1:=createwindow('button','合并文件',param.dwExStyle,param.y,param.y,60,30,hwindow,0,hinstance,@param);
    param.x:=40;
    param.y:=60;
    button2:=createwindow('button','分解文件',param.dwExStyle,param.y,param.y,60,30,hwindow,0,hinstance,@param);
    showwindow(hwindow,cmdshow);
    showwindow(button2,cmdshow);
    showwindow(button1,cmdshow);
    updatewindow(hwindow);
  end;
  result:=hwindow;
end;begin
  if not winregister then
  begin
    MessageBox(0,'窗口注册失败','错误',MB_OK+MB_ICONINFORMATION);
    exit;
  end;
  hwindow:=wincreate;
  while GetMessage(aMessage,0,0,0) do
  begin
    TranslateMessage(amessage);
    DispatchMessage(aMessage);
  end;
halt(amessage.wParam);  
end.

解决方案 »

  1.   

    呵呵我知道原因了。
    原来我写了错别字了
    把dword写也了word了。
    不过,还是谢谢热心的朋友们。顺便问一句
    用delphi写窗口,最小可以产生8K的执行文件吗?
    那么用VC可以写出多小的带窗口的可执行文件呢?
      

  2.   

    呵呵我知道原因了。
    原来我写了错别字了
    把dword写也了word了。
    不过,还是谢谢热心的朋友们。顺便问一句
    用delphi写窗口,最小可以产生8K的执行文件吗?
    那么用VC可以写出多小的带窗口的可执行文件呢?