标题: 初学者的一段第三方代码。[C语言] [打印本页]
作者: wangxiulin 时间: 2015-10-19 22:28 标题: 初学者的一段第三方代码。[C语言]
- #include <Windows.h>
- int main(int argc,char *argv[])
- {
- HWND wnd;
- if(strcmp(argv[1],"/a") == 0){ //判断批处理的参数是否为-a
- wnd = FindWindow(NULL,argv[2]); //API调用第三个参数。获取第三个参数的句柄
- EnableWindow(wnd,NULL); //API禁止窗口活动。
- puts("窗口已经上锁!"); //显示窗口文本。
- }
- else if(strcmp(argv[1],"/b") == 0){
- wnd = FindWindow(NULL,argv[2]);
- EnableWindow(wnd,TRUE);
- puts("窗口已经解锁!");
- }else{
- puts("请输入正确的参数");
- }
- return 0;
- }
复制代码
功能 禁止窗口活动。
代码更改了一下,加了三个参数。/a和/b还有/help。/a是禁止窗口行为的,/b是取消窗口行为的。/help是帮助文件
软件在Vs2010下测试通过。谢谢CrLf朋友,将EXE静态编译,文件大小大大减少。
Enable [/aAnd/b] [hwmd]
/a和/b 参数,/a为禁止窗口活动参数,/b为允许窗口活动参数。
hwnd 句柄,一般来说为标题内容,如计算器的句柄为计算器!也可用工具获取。
示例: Enable /a QQ 此处命令为禁止QQ窗口一切运行。
作者: CrLf 时间: 2015-10-19 23:05
本帖最后由 CrLf 于 2015-10-19 23:09 编辑
可静态编译,或改用 gcc 或 tcc 编译,就不需要携带笨重的 vs 库了
作者: wangxiulin 时间: 2015-10-19 23:20
回复 2# CrLf
果真大神,我找找,谢谢了,现在给别人发程序都还带个DLL,也是够 恶心的
作者: wangxiulin 时间: 2015-10-19 23:30
回复 2# CrLf
尝试了一下,果真好用
作者: 依山居 时间: 2015-10-20 00:09
用CodeBlocks也行,集成编辑器,可以切换编译器
作者: CrLf 时间: 2015-10-20 03:45
测试了还是需要 dll,建议用 gcc 编译,然后用 strip 精简体积,本机最终结果为 15kb
另外,建议加上参数不足二个或参数错误时显示帮助的功能,等功能全面且稳定后,我把它上传到 batch-cn
作者: wangxiulin 时间: 2015-10-20 05:57 标题: 标题
回复 6# CrLf
昨天躺在床上才想到,测试的电脑也安装了vs,也是醉了,我跑完早操在改一下。
作者: wangxiulin 时间: 2015-10-20 20:57
回复 6# CrLf
好了,已经静态编译完了,我在虚拟机上测试可用。有帮助参数.
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |