我正在尝试将unix实用程序ldd移植到Windows,因为dependencywalker和cygcheck并没有完全提供我正在寻找的用法。(也是为了学习经验)我一直在MSDN上寻找一个列出可执行文件的dll依赖项的WindowsAPI,甚至是编译后的exe中的存储格式(只是为了过滤掉它),但我一直无法找到任何东西。如果有人知道Windows使用什么API调用来列出要加载的模块,或者我可以在可执行文件中搜索什么模式来找到要加载的模块,请帮助我:)谢谢!-注意:我不打算分析动态模块,只是列出运行时需要的模块 最佳答案 在exe导入表
关于thisquestion的相关说明,假设我有一个定义了处理程序的文件,我将如何以编程方式调用已注册的处理程序?不一定需要实际代码来执行此操作,只需指向一些文档的指针或谷歌的术语即可。谢谢,克里斯 最佳答案 启动一个新进程并指定您要使用默认应用程序打开的文件就足够了——其余的由Windows处理。在C#中,这是按如下方式完成的。Process.Start("Foo.jpg");这将使用JPEG图像的默认应用程序打开图像。 关于windows-以编程方式调用文件类型的默认应用程序,我们在
我的应用程序生成35到55个PDF文件,我必须自动打印其中的四份。所有这些文件都在一个文件夹中。我的需求是使用一个批处理文件,每个文件打印四份。我安装了AdobeAcrobatReader。我该怎么做? 最佳答案 AdobeReader只能直接打印一份。但是,没有什么能阻止您循环打印4次。不过,这可能需要更长的时间,因为文档必须被发送到打印机四次。来自AcrobatSDKDeveloperFAQ:AcroRd32.exe/tpath"printername""drivername""portname"—StartAdobeRea
我正在尝试在生成报告后打开PDF文件。我的意思是,用户登录(这是一个基于Swing的应用程序)并单击以生成报告。然后,生成一个PDF文件。我想在那一刻启动PDF阅读器。我可以做类似exec("evince"+path_to_pdf_file)的事情。它只是针对Ubuntu,Windows会更难。我在想我需要探索注册表。我怎样才能做到这一点? 最佳答案 你需要的是方法java.awt.Desktop#openLaunchestheassociatedapplicationtoopenthefile.Ifthespecifiedfile
我如何以编程方式(.net)调用Windows资源管理器SendTo上下文菜单选项上的命令? 最佳答案 sendto项是文件系统对象这一事实是一个实现细节,菜单由sendtoshell扩展填充,它可以扩展为在下一版本的Windows等中包含其他内容。事实上,将sendto文件夹视为自Windows95(powertoys/shelltoys)以来,只有一个可以使用单个参数执行的快捷方式文件夹一直存在问题一些sendto项目不是.lnk,而是具有注册放置处理程序的独特文件扩展名(.DeskLink、.OtherFolder、.MAPI
我一直在使用thissolution解析Windows快捷方式并确定快捷方式指向的内容。但是,它仅适用于本地文件和网络共享。Windows快捷方式也可以指向URL。我一直在使用的解决方案无法正确解析URL快捷方式。知道为什么或如何解决它吗?对我来说,它会在这一行抛出一个ArrayIndexOutOfBoundsException:intfile_location_info_flag=link[file_start+file_location_info_flag_offset_offset];我一直在测试一个名为“C:\googleshort.url”的快捷方式,该快捷方式指向http:
我想要一个打开cygwin的桌面快捷方式,这样我就可以跟踪日志文件。目前我手动执行以下步骤:Startcygwincddev/server/logstail-ferror.log我想自动化这三个步骤。 最佳答案 您可以为以下目标创建一个Windows快捷方式...C:\cygwin\bin\tail.exe-f"C:\Path\to\the\error.log"...假设那是您的tail可执行文件所在的位置。在Cygwinshell中执行whichtail应该可以确认这一点。这应该在cmd窗口中运行二进制文件。执行Ctrl-C以停止
我有一个可以正常运行或作为服务运行的可执行文件。在启动时,如果有错误(使用MessageBoxapi),它可能会显示错误消息。如果应用程序作为服务运行但不允许与桌面交互,这可能会导致失败。该进程可能看起来挂起。是否有一种编程方式来检测应用程序是否可以与桌面交互?然后我可以使用其他一些错误通知机制(日志文件等) 最佳答案 您可以在调用MessageBox()时指定MB_SERVICE_NOTIFICATION,这将在当前事件的session中显示消息。但是,在服务中显示消息框并不是您真正想要的。服务应该在后台运行,而不是直接与用户交互
我正在编写一些需要在连接到坞站的移动设备上表现不同的软件。因此,我需要一种编程方式来检查计算机是否已连接到C#/.NET中的坞站。我尝试了以下方法:P/调用GetCurrentHwProfile功能。P/调用CM_Is_Dock_Station_Present功能。在WMI的Win32_SystemEnclosure中寻找扩展坞机箱类型.不幸的是,这些似乎都不适用于“一刀切”的情况。它们适用于我的一些测试设备,但不适用于其他设备。我需要在各种设备和扩展坞上运行。是否有任何一致、可靠的方法来检查设备是否已插接在Windows中? 最佳答案
任何看过MarkRussovich演讲“揭开内存管理之谜”的人都知道,vmmap工具可以向您展示一些其他工具似乎不知道的与您的进程限制(在vanilla32位窗口上为2GB)有关的事情.我希望能够以编程方式监控我的真实总内存大小(与进程限制密切相关的内存大小),这样我至少可以记录接近进程限制时发生的情况。是否有关于vmmap如何执行此操作的公开信息?...还有,为什么这个信息这么难得到??我所知道的事情(AFAIK)并不能完全给你全貌:::GetProcessMemoryInfo看起来它只返回有关私有(private)内存使用情况的信息System.Diagnostics.Proces