Windows中文网

 找回密码
 立即注册
搜索
查看: 7874|回复: 0

测试一下

[复制链接]

19

主题

22

帖子

428

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
428
发表于 2021-9-11 21:56:20 | 显示全部楼层 |阅读模式
测试一下:

[C++] 纯文本查看 复制代码
#include <windows.h>
#include "resource.h"

#pragma comment(linker,"\"/manifestdependency:type='win32' \
    name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
    processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

// 函数声明
INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
   DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, DialogProc, NULL);
   return 0;
}

INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
   switch (uMsg)
   {
   case WM_INITDIALOG:
      return TRUE;

   case WM_COMMAND:
      switch (LOWORD(wParam))
      {
      case IDC_BTN_CRACK:
         break;
      }
      return TRUE;

   case WM_CLOSE:
      EndDialog(hwndDlg, 0);
      return TRUE;
   }

   return FALSE;
}


[Asm] 纯文本查看 复制代码
; include user32.inc
; include kernel32.inc

includelib user32.lib
includelib kernel32.lib

extern MessageBoxA:proc     ; 如果包含了user32.inc头文件,则不需要extern引入该函数
extern ExitProcess:proc     ; 如果包含了kernel32.inc头文件,则不需要extern引入该函数

.data
szText      db 'Hello World!', 0
szCaption   db 'Title', 0

.code
WinMain proc
    sub rsp, 28h

    xor r9d,  r9d
    mov r8,  offset szCaption
    mov rdx, offset szText
    xor rcx, rcx
    call MessageBoxA

    xor ecx, ecx
    call ExitProcess

    add rsp, 28h            ; 实际上执行完ExitProcess函数以后,这里不会得到执行
    ret
WinMain endp
end

; 也可以使用以下命令编译
; ml64 /c HelloWorld.asm
; link /subsystem:windows /entry:WinMain HelloWorld.obj




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Windows中文网 ( 鲁ICP备2021014210号 )

GMT+8, 2025-6-9 23:15 , Processed in 0.088076 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表