草庐IT

windows - exe中的DllMain?

是否可以在不使用任何额外的dll的情况下在独立exe中接收有关线程附加/分离的通知之类的DllMain?编辑:这只是一个理论问题,与我正在进行的一些测试有关。不是现实生活中的情况。 最佳答案 没有在线程上运行并加载可执行文件的外部代码,因此没有线程附加/分离通知[1]。可执行文件中的代码通常控制线程[2]。如果您描述您的场景,人们可能会给您一些实现它的想法。[1]好吧,大多数时候。可以在另一个进程中加载​​可执行文件,但人们通常不这样做。[2]在某些情况下,线程模型和线程是由操作系统而不是可执行代码创建的。这些大多与COM/RPC有

windows - CMD: Bat to Exe Converter - 临时目录问题

我正在使用'BattoExeConverter'将我的批处理文件转换为exe格式。现在,我遇到了一些问题。每当我转换某些东西,并将“工作目录”设置为“当前目录”,并以echoon模式启动我的exe时,这就是我最终检查是否有特定文件的结果在我的exe目录中:实际命令:如果不存在"%~dp0\file.txt"goto:nofile输出:如果不存在"C:\Users\MyUser\AppData\Local\Temp\4CBC\\file.txt"goto:nofile谁能帮我解决这个问题?我不希望它在临时目录中,我希望它在我的exe目录中。谢谢。 最佳答案

windows - emacs 中的 cygwin shell/Windows 中的 cmd.exe

我试图让python在emacs的命令shell中运行。我尝试了Windowsemacs附带的标准M-xshell,然后键入“python”,但python只是挂起(无输出)。我还尝试从cygwin运行其他程序shell,例如bash.exe,结果相同。有什么方法可以获得可以运行其他程序(如python)的shell? 最佳答案 为什么不使用M-xpython-shell?这为Emacs中的Python提供了交互式REPL。 关于windows-emacs中的cygwinshell/Wi

python - 使用 py2exe 构建控制台可执行文件,收到 suds 导入错误

尝试使用py2exe构建.exe:pythonsetup.pypy2exe,收到错误:ImportError:Nomodulenamedsuds我做了一些研究,表明模块必须明确包含在setup.py中。这是我的setup.py:fromdistutils.coreimportsetupimportpy2exesetup(console=[{'script':'report.py'}],options={'py2exe':{'bundle_files':1,'includes':['suds']}})我已尝试包含包名称suds.client、suds.transport.https,但错

c++ - 给定一个 dll/exe(带或不带 .pdb),我可以看到哪些 .obj 文件对其大小有影响吗?

我用一大堆cpp文件编译了一个dll文件。我想看看每个cpp对dll的最终大小有多大贡献,以减少它的大小(比如通过排除一些库)。有什么办法吗?谢谢! 最佳答案 这范围从非常困难(你向哪个对象收取库函数)到不可能(当使用整个程序优化来跨编译单元边界内联时)。我还建议它不是很有用。您需要知道要精简哪些功能,而不仅仅是哪些文件。在构建期间生成map文件(将/MAP传递给LINK.EXE)可能是您所能做的最好的事情。Thedocumentation还提到了一些关于符号组的内容,您也可以利用它们来发挥自己的优势。

c - 入口点在正确的地方吗?

这几天在看一些PE可执行规范。然后我制作了一个小C程序,执行pushebp,popebp并编译了它。成功编译后,我在可执行文件中打开PE文件,查看位置PE_magic+PE_header_size+PE_OPTHDR_entrypoint,其中PEmagic是文件中第一次出现“PE”字符串,根据PE&,PE_header_size为24,PE_OPTHDR为16COFF规范。在那个位置我找到了地址0x1000,但是我的文件的长度只有0x600。那么我是在正确的位置,还是入口点(顺便说一句,在0x200上)地址设置不正确?我包括我的文件内容和我的代码的图像。代码(在项目属性中我没有检查标

c - 编写带有更新的 Windows 程序,权限问题

我想创建一个程序Foo.exe登录时出错foo.log.该程序已安装(NSIS安装程序)到C:\ProgramFiles(x86)\Foo\中.在安装过程中,NSIS添加了一个快捷方式(CreateShortCut"$SMSTARTUP\Foo.lnk""$INSTDIR\Foo.exe")来启动Foo.exe当Windows启动时。当Windows在启动后执行我的程序时,它以“非管理权限”启动我的程序。所以我的程序不能编辑C:\ProgramFiles(x86)\Foo\foo.log.解决方法是将可编辑文件存储在另一个目录中,例如在$APPDATA.但真正的问题来了:我在我的程序中

linux - 从 Windows 到 Linux 的 Rsync,使用 putty pageant 身份验证

我想将一个目录从Windows同步到Linux。Linux:没有运行rsyncd,在Linux上调用命令行rsync。Windows:我在pagent.exe中加载了一个ssh-key无需安装程序即可获得简单的批处理文件。cygwin的rsync.exe不支持putty/pagent。Robocopy不好,因为文件量很大。我怎样才能在一个简单的批处理文件中从Windowsrsync到Linux 最佳答案 您不需要安装完整的cygwin,这个批处理文件中显示的一个小目录结构就足够了。“嫁接”cygwin和putty-worlds需要一

windows - InnoSetup - 如何将 setup.exe 变成 875kB?以便用户更快地下载它并且在下载时它会下载另一个?

使用InnoSetup我准备了我的maininstaller.exe它非常大,例如90Mb当用户下载它时,有时需要很长时间。因此,用户经常忽略它,而且我的设置不完整,因为对用户不友好。现在我已经比较了GoogleChrome/Canary网络浏览器概念,它们的体积也很大,但是它们使用了两种类型的安装程序,一种是非常小的安装程序,只是为了快速下载并执行,下载第二个大型主安装程序,这种方式对部署大型安装比较友好,也被很多用户接受。现在,我如何使用Innosetup执行此操作(如GoogleChrome网络浏览器安装程序)?一个first_setup.exe,它非常小,所以用户可以快速下载它

windows - 通过网络运行 VB6 exe - 它会在执行期间制作本地副本吗?

我继承了一个用VB6编写的可执行文件,用户可以通过网络共享运行它。用户只需双击共享上的文件,3MB的exe就会运行。我的问题是,当以这种方式访问​​时,用户的机器(WinXP)是否会制作一个临时的本地副本并运行它,或者它是否不断地在网络上请求文件(例如,当切换到一个新屏幕时)?我在运行它时检查了我自己机器上的临时位置,没有本地副本的证据,但也许它完全在后台处理(即,对用户不可见)?PS-我知道这种方法有几个缺点,但它不会改变。 最佳答案 您的程序使用何种语言编写在这里并不重要。不会有可执行文件的本地副本,也不会不断地在网络上请求文件