
要求:
不要太大。比如使用下面那个例子做一个倒计时,大小来个 10M 就太夸张了!
在使用 MSDN 原盘安装的 XP、Win7、Win10 系统下皆可双击 EXE 就运行
例如:
做一个 GUI 倒计时,弄个计时器(用于每 1000 毫秒倒数)、一个编辑框(用于输入正数)、两个按钮(用于开始倒数、停止倒数)、一个标签(特大红色,用于显示倒数)
1 imicksoft 2019-04-10 15:54:50 +08:00 aardio,你值得拥有 |
2 hs0000t 2019-04-10 15:55:30 +08:00 via Android 易语言( |
3 azh7138m 2019-04-10 15:58:29 +08:00 via Android MFC VC++吧。。。想不到啥好的还能支持 XP 的了 |
4 dapang1221 2019-04-10 15:58:51 +08:00 我想了想,这个需求用易语言可能还真是个不错的选择…… |
5 Rysle 2019-04-10 16:09:53 +08:00 Visual Basic 6.0 老古董,值得拥有,哈哈哈 |
6 CallMeReznov 2019-04-10 16:11:11 +08:00 在不涉及 C++运行库 .NET 版本的情况下 VB C# C++ 都可以吧? |
7 qysz 2019-04-10 16:12:13 +08:00 Delphi 了解下 |
8 HFX3389 OP @hs0000t @dapang1221 额,我刚找了下朋友,易语言做这种小东西好像还真不错的样子,但是我丢虚拟机里马上就被 360 当成木马干掉了...... 而且易语言好像稍微大型点的东西就不好用了吧..... |
10 yejinmo 2019-04-10 16:18:58 +08:00 Windows 开发不推荐 C# ? |
11 ThirdFlame 2019-04-10 16:21:19 +08:00 vb autoit 不都行么 |
12 Counter 2019-04-10 16:21:48 +08:00 很明显 C#(WinForm),拖拖控件就好,计时器都有控件,纯代码不含图标等资源编译后最多也就几十 KB XP 初始环境自带.net framework 2.0,编译时注意版本就好 @yejinmo C#地位在这里很不行啊 |
13 loginv2 2019-04-10 16:23:44 +08:00 delphi7 |
17 ysc3839 2019-04-10 16:38:55 +08:00 @yejinmo C# 要装运行库,算上的话就超过 10M 了。 现在搞 Windows 开发,如果要开放、免费、仍在维护、编译后体积小的话大概只有 C++ 了。 VB6 不再维护了;易语言收费且几乎不再维护了; aardio 据说仅有作者一人维护,而且作者风评不好。 Delphi 目前仍在维护,不过似乎不免费? |
18 boris1993 2019-04-10 16:39:01 +08:00 via Android .Net 系呗,分发的时候附带适用各系统的.Net 环境安装包,以及指导 README |
19 rb6221 2019-04-10 16:45:35 +08:00 via iPhone vb 即可 |
20 sagaxu 2019-04-10 16:47:0 +08:00 via Android Wxwidgets |
21 z99monster 2019-04-10 16:50:37 +08:00 Qt,控件拖拽很简单 |
23 hhyvs111 2019-04-10 16:59:36 +08:00 用 qt |
24 sneezry 2019-04-10 17:03:31 +08:00 via iPhone c# |
25 muyi 2019-04-10 17:05:17 +08:00 delphi,例如描述的这种小程序,编译出来就一个 exe 可执行文件,无需任何运行库,XP 也能直接运行 |
26 Ct5T66PVR1bW7b2z 2019-04-10 17:05:44 +08:00 via Android Python 首先排除 |
27 wfd0807 2019-04-10 17:05:49 +08:00 asm+win32api 编译出 exe 非常小,几 KB (滑稽) |
@hhyvs111 楼主要求体积要小啊,,,,, 我之前用 Qt 写个简单的文本编辑器,把所有依赖复制出来后文件夹就有 50 多 M 了,,,,, |
29 Tink PRO 其实 delphi 可以 |
30 amaranthf 2019-04-10 17:27:42 +08:00 @wfd0807 用 win32 api 的话,C++也可以达到类似的大小,去除 CRT 的初始化、各个节压缩到一起,1~2KB 的 hello world 就出来了 |
31 Akkuman 2019-04-10 17:29:46 +08:00 via Android delphi 有社区版了,另外,purebasic 咋样,aardio 也行,要不 autohotkey 或者 autoit3 ?或者易语言?或者 lazarus ? |
32 hmzt 2019-04-10 18:23:00 +08:00 vb |
33 thedrwu 2019-04-10 19:08:03 +08:00 via Android 直接 win32api,如果用 c 写,连 crt 都不必要。 |
34 mmdsun 2019-04-10 19:25:52 +08:00 via Android winform,c# ,visual studio。 微软的东西选他自己的语言,不然后面坑很多的 |
35 1daydayde 2019-04-10 19:49:34 +08:00 这需求一个 html 文件就搞定了,2kb 搞定(滑稽 |
36 H0H 2019-04-10 20:09:13 +08:00 用 Win32ASM 汇编语言调用 Win32 API 实现,可同时兼容 win32 和 x64 Windows 系统。写出来的程序因仅调用最基础的那几个 dll,理论上讲只要 Windows 系统能启动进入到桌面,那你的工具就一定能运行起来,稳定性巨高。 如果不带 icon 图像等资源文件的话,编译出的 exe 文件仅 5KB 左右,极小。 具体书籍参考罗云彬的《琢石成器 Windows 环境下 32 位汇编程序设计》。 |
37 geelaw 2019-04-10 20:24:53 +08:00 这个用纯粹的 Win32 就可以做。 |
38 LZSZ 2019-04-10 20:27:40 +08:00 delphi 7.0 |
39 murmur 2019-04-10 20:35:54 +08:00 当然是 vb |
40 HFX3389 OP @0312birdzhang #35 这好像有点意思!我咋没想到弄个 HTML 算了 |
41 HFX3389 OP @0312birdzhang #35 倒计时可以这样玩玩 |
44 huijiewei 2019-04-10 21:47:28 +08:00 啥也别想了,autoit 走起 |
45 admirez 2019-04-10 22:02:45 +08:00 当然是 delphi |
46 twor 2019-04-10 22:37:22 +08:00 via Android 为了封装一个 GUI 报表工具,现学了 Delphi,蛮好 |
47 kiddult 2019-04-10 22:54:16 +08:00 都什么年代了,还纠结文件大小 直接 Electron 走起,完美兼容各种 PC 环境 |
48 anyele 2019-04-10 23:01:08 +08:00 via Android 明显是 c#,winform,.net 版本选低一点 |
49 inframe 2019-04-10 23:08:31 +08:00 via Android # ,桌面开发库够多,初中级文档齐全 |
50 kokutou 2019-04-10 23:20:31 +08:00 |
51 HFX3389 OP |
52 yzwduck 2019-04-10 23:41:30 +08:00 via Android @H0H 写 asm 太折磨人了,用 C 写更现实一些。我写过几个不依赖 vcruntime 的代码,能同时兼容 xp 和 per-monitor DPI awareness,体积不会比 asm 代码大太多。 |
54 Chingim 2019-04-10 23:51:04 +08:00 via Android js ?直接在 ie 跑 |
55 ysc3839 2019-04-10 23:54:04 +08:00 via Android @kokutou 这不是编程语言。 这种做法并不一定稳定,从该项目的 issues 可以看出有许多问题。 |
56 flynaj 2019-04-11 00:09:40 +08:00 via Android tcc 编译器,里面有例子,几十 k 就可以 |
57 msg7086 2019-04-11 00:15:25 +08:00 C 井,VB6,Delphi,好像都挺好的。 |
58 Mac 2019-04-11 00:33:51 +08:00 via Android vb6 基本库在 win7 及以上都不需要另装动态链接库 |
59 mmdsun 2019-04-11 00:41:54 +08:00 via Android |
60 patr0nus 2019-04-11 00:59:14 +08:00 Wxwidgets +1 |
61 sneezry 2019-04-11 01:03:13 +08:00 |
62 H0H 2019-04-11 01:16:09 +08:00 @yzwduck 以前用 VS2010 写过,但很容易就把 vc runtime 带进去了,忘了多大,好像好几兆吧。貌似 VS 未提供仅将用到的那几个函数编译进去的功能,反正我是没找到。 如果用纯 C 调用 Win32 API,好像 C runtime 又会被打进去或动态链接到。虽然 XP 系统开始就已经自带了 C runtime 6.0,但总希望自己的 exe 能再健壮点比如往前把 2000 和 98 也支持了。虽然这些老系统用不到,但 exe 未经修改就能在上面运行,毕竟显得霸气:) 一般写这种 GUI 小工具,下意识就希望 exe 越小越好,不要依赖其他 dll,很容易有强迫症,最终就是 asm 上了^_^ |
63 yingyue 2019-04-11 01:25:39 +08:00 via Android 易语言能做的很好 |
64 yingyue 2019-04-11 01:28:20 +08:00 via Android 360 报毒,只需要做好后,360 提交一下就好了 |
65 xzpjerry731 2019-04-11 05:23:56 +08:00 python + pyinstaller |
67 zwh2698 2019-04-11 06:46:07 +08:00 via Android Mfc 或者 api, mfc 界面可以使用 prof-ui, 纯 API 的,贴图重绘,界面绝对不输现在的界面风格。 |
68 hp3325 2019-04-11 06:49:09 +08:00 via Android Delphi,唯一选择。 从 XP 到 WIN10 全覆盖,即使集成 webbrowser 进去,再加一堆复杂逻辑,都不会超过 3M。 最重要的,一个 exe,下载即可使用,不需要任何动态链接库! |
69 exip 2019-04-11 07:25:01 +08:00 via Android 用 vbs 或 Javascript 加 html 写个网页保存成 hta 文件,估计不到 10KB. |
70 NicholasYX 2019-04-11 08:06:57 +08:00 via iPhone C#啊 |
71 v2orz 2019-04-11 08:13:29 +08:00 这个东西应该是有现成的吧,我看部门助理在会上放 ppt 的时候在用 |
72 TaylorJack123 2019-04-11 08:18:38 +08:00 via Android duilib 框架,c++写的,用起来贼爽所有的 windows 都可以用 |
73 sdushn 2019-04-11 08:36:38 +08:00 via Android 做个 web 可还行? |
74 ysc3839 2019-04-11 08:51:30 +08:00 via Android @H0H 除了自动链接的 entrypoint stub,其他函数是用了才会链接。微软没这么傻,不信你可以自己用一个 static library 试试看会不会全部都编译进去。 我个人印象中 VS2017 用向导创建的 C++ Win32 GUI app,完全使用静态链接编译出来才 70 KB。我自己用 C++ 编写的一个程序,使用了 rapidjson, libcurl, zlib 以及一些 7-Zip 的代码,同时也是完全静态链接,编译出来才 900 KB 左右。 没记错的话 VS2017 C++ 程序仍然可以在 Windows 2000 下运行,一个例子是 ConEmu。 不想依赖其他 dll 请使用静态链接,手写 asm 的话未必比编译器优化的好。 |
75 Cloutain 2019-04-11 09:21:48 +08:00 还用想吗 当然是易语言了,你这个程序说不定一个易模块就解决了 |
76 simonsww 2019-04-11 09:36:00 +08:00 拿几分钟用易语言写个完事。。 |
77 H0H 2019-04-11 09:37:53 +08:00 @ysc3839 我也是比较早以前用 VS2010 时,当时是做一个右键菜单 dll 供 Explorer 调用,记不清有没有用到 MFC。当时静态链接大小大体上等于『动态链接大小+vc runtime 10.dll 』。因为 32 位汇编比较好写,不像 64 位全部用寄存器传参。所以当时 32 位 dll 就用汇编实现,文件很小; 64 位 dll 就用 vc 编译,贼大。 当时手写 asm 也不是期望比编译器优化好,就是想让其能保持最小。有这个需求也是因为当时做的工具是在公司内部使用,同事们觉得好的工具会用邮件给其他人分享,而邮件附件大小限制是不能超过 20M。 |
78 rming 2019-04-11 09:39:37 +08:00 html + Javascript ... |
80 ysc3839 2019-04-11 09:47:00 +08:00 via Android @H0H 手写 asm 小是因为没链接别的库。 除去别的库,编译器优化出来的代码可能比手写还要小,VC++ 有最小体积的优化选项。再把入口点改成自己的函数,不使用运行库的入口点,然后完全不调用 C/C++ 函数,也能做得很小。 |
81 maemolee 2019-04-11 09:53:16 +08:00 其实弄个网页版就行吧…… |
82 maemolee 2019-04-11 09:53:55 +08:00 给你看一下我的泡面计时器: https://www.maemo.cc/timer.html |
83 Felldeadbird 2019-04-11 09:56:42 +08:00 vb 应该是最简单了吧。 不过我还是习惯 py + qy 组合写 GUI。真的轻快。因为我不熟其他语言。 |
84 shuax 2019-04-11 09:58:17 +08:00 win32 api |
85 yingfengi 2019-04-11 10:03:12 +08:00 via Android html |
86 zthxxx 2019-04-11 10:06:48 +08:00 谢邀,React |
87 youyaang 2019-04-11 10:15:19 +08:00 易语言现在其实不怎么会报毒了,你可以试试换成黑月编译或者换个编译器试试 |
88 liuxey 2019-04-11 10:16:40 +08:00 推荐个简单粗暴的,hta 程序,可以搜索下 mshta.exe 这个组件 简单的讲就是 html 直接以程序方式打开,倒计时什么的用 html 写不是分分钟的事嘛~ |
89 lscho 2019-04-11 10:19:39 +08:00 就这功能? vb 五分钟就写出来了,编译出来几十 kb。都能运行 |
90 wackyjazz1 2019-04-11 11:02:55 +08:00 C# 十分就能 |
91 jackmod 2019-04-11 11:07:00 +08:00 https://github.com/sgqy/qt-static-lib 以前搞了个 Qt 的静态库,支持 xp ( 7 以后的 pe 格式不兼容 xp )。 Qt 的许可证是 LGPL,对静态库有限制(只是提醒一下)。 |
92 panlilu 2019-04-11 11:07:10 +08:00 还有这么多人记得 Delphi 啊 23333 |
93 kknd22 2019-04-11 11:14:44 +08:00 Delphi 7 合适 python3 打包出来的不支持 XP,2 打包出来的,最小 5MB delphi 只需要几十 KB,而且一半是定制的图标。。。 |
94 old9 2019-04-11 11:30:54 +08:00 autohotkey |
95 GeruzoniAnsasu 2019-04-11 11:41:05 +08:00 imicksoft 19 小时 41 分钟前 截止至本回复本帖存在的时间已经足够用 mfc c# vb html delphi 易语言 各撸一个版本了 |
96 HFX3389 OP |
99 allgy 2019-04-11 11:56:49 +08:00 java FX9 |