代码改变世界

1. zadig

2020-06-16 18:28  晓峰如月  阅读(541)  评论(0编辑  收藏  举报

1,拿到源代码:git://github.com/pbatard/libwdi (https://blog.csdn.net/u014647208/article/details/80006305

 

2,首次编译,报142平台错误,这时只需要右键属性,更改为本机已安装的141平台即可,还要注意编译的x64平台都要一致。

图一:

 

图二:

 

3,找不到windows版本8.1 sdk,这时需要从“项目”→“重定解决方案目标”,找到最新的sdk即可。

图三:

图四:

 

4,突然有一天,编译的时候又报了一个“未定义的HWND”错误,转到定义,可以看见它是系统里的头文件代码。

具体:

严重性 代码 说明 项目 文件 行 禁止显示状态错误 C2081 “HWND”: 形参表中的名称非法 installer_x64 e:\windows kits\10\include\10.0.17763.0\um\winbase.h 7010

可能是系统更新了,或者其他修改影响了c++的东西,解决办法就是从其他地方拷贝了一个低版本的windows 开发sdk,然后同3步骤,“重定解决方案目标”即可。

 

5,我的目标是选择一个单一的驱动,并在首次点击之后,禁用这个按钮。

(1)在项目里可以看到对话框,用F4找到控件ID,全局搜索,找到自己需要的地方。

(2)这里是c代码,所以没有string类,只能用 char *

(3)c字符串包含的函数strstr

(4)定义了一个字符数组,“不明白为什么这里不能定义char *, 它需要在这个函数的前面定义,这里的 str_buf就会与全局定义的str_buf区分开”

(5)在代码里搜相应的函数,一般都可以直接拿过来使用。比如:GetDlgItemTextA,EnableWindow,GetDlgItem,dsprintf

图五:

图六:

 

图七: