要求:
不要太大。比如使用下面那个例子做一个倒计时,大小来个 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 2
易语言(
|
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 1
@yejinmo C# 要装运行库,算上的话就超过 10M 了。
现在搞 Windows 开发,如果要开放、免费、仍在维护、编译后体积小的话大概只有 C++ 了。 VB6 不再维护了;易语言收费且几乎不再维护了; aardio 据说仅有作者一人维护,而且作者风评不好。 Delphi 目前仍在维护,不过似乎不免费? |
18
boris1993 2019-04-10 16:39:01 +08:00 via Android
.Net 系呗,分发的时候附带适用各系统的.Net 环境安装包,以及指导 README
|
19
janus77 2019-04-10 16:45:35 +08:00 via iPhone
vb 即可
|
20
sagaxu 2019-04-10 16:47:06 +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
Abbeyok 2019-04-10 17:05:44 +08:00 via Android
Python
首先排除 |
27
wfd0807 2019-04-10 17:05:49 +08:00 2
asm+win32api 编译出 exe 非常小,几 KB (滑稽)
|
28
xiri 2019-04-10 17:10:36 +08:00
@hhyvs111 楼主要求体积要小啊,,,,,
我之前用 Qt 写个简单的文本编辑器,把所有依赖复制出来后文件夹就有 50 多 M 了,,,,, |
29
Tink 2019-04-10 17:18:58 +08:00 via iPhone
其实 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
0312birdzhang 2019-04-10 19:49:34 +08:00 1
这需求一个 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 1
|
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 1
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
|