草庐IT

windows - 如何使用 Delphi 2010 以编程方式确定 Windows 的性能设置

以下代码是在关闭时淡化我的应用程序。procedureTfrmMain.btnClose1Click(Sender:TObject);vari:Integer;beginfori:=255downto0dobeginfrmMain.AlphaBlendValue:=i;application.ProcessMessages;end;Close;end;Windows性能设置为“让Windows选择...”当用上面的代码关闭我的Delphi应用程序时,淡入淡出几乎瞬时(最多¼秒,如果我眨眼,我会错过过渡)。如果我将性能选项设置为“调整以获得最佳性能”退出同一个应用程序时,淡入淡出需要超过

windows - 在 Delphi 下终止应用程序时线程未终止

假设我有一个线程在应用程序终止时仍在运行(此线程无法终止,因为它等待Windowsapi调用返回这可能会很长......)如果应用程序关闭,线程会发生什么情况?它能引发异常吗(我在Delphi下)? 最佳答案 我会说异常(exception)是非常合理的。当您调用Application.Terminate时,这将导致以下事件序列:调用PostQuitMessage。Application.Terminated被设置为True。Application.Run返回。System.Halt被调用。运行退出过程,特别是DoneApplica

windows - 如何检测 Delpi 代码是否在 DLL 中运行?

我正在创建一个主要供非Delphi调用者使用的[Windows]DLL。我想使用一些现有的“库”代码,但如果在DLL中执行,有些部分可能不合适或有问题。有没有办法检测代码是否在DLL中运行? 最佳答案 System.IsLibraryIndicateswhetherthemoduleisasharedlibrary.TheIsLibraryvariableisTrueifthemoduleisadynamiclinklibrary(DLL). 关于windows-如何检测Delpi代码是

Windows 注册表文件关联菜单

我最近(今天)开始在Delphi中修改我的注册表。:)一切正常,我的自定义文件类型现在可以用我的程序打开,但有2个问题我无法解决。1)我想要从所有文件类型中“打开方式”的选项,所以我添加了reg:=TRegistry.Create;reg.RootKey:=HKEY_CLASSES_ROOT;reg.LazyWrite:=false;reg.OpenKey('*\OpenWithList\EncryptionSystem',true);reg.WriteString('','C:\ProgramFiles\EncryptionSystem\EncryptionSystem.exe"%1

windows - 资源管理器集成在上下文菜单中,但使用已经运行的实例

我想检查是否存在,如果不存在,则在资源管理器的右键单击(上下文)菜单中添加一些操作。除了上述要求(可以在网上轻松找到解决方案)之外,我还想添加一个:假设我注册了以下命令:“命令#1”-触发“C:\MyProg.exe/cmd1”“命令#2”-触发“C:\MyProg.exe/cmd2”...(同样)我如何检查是否已经正在运行的MyProg.exe实例并将适当的命令/命令行参数一起传递给它使用用户单击的文件名?(IOW,我想使用我的程序的已经运行的实例来完成我的任务而不是打开一个新的)Delphi代码片段将不胜感激。TIA 最佳答案

windows - 平滑圆窗角

你好我使用WindowsAPI调用CreateRoundRgn和SetWindowRgn创建了一个圆边窗口,但是圆角不如使用GDI+绘制的圆角矩形平滑。无论如何,有没有平滑窗口的角落?procedureTPBSDashboardPanel.DefineWindowRegion;varWindowRegion:HRGN;beginifAssigned(Parent)thenbeginWindowRegion:=CreateRoundRectRgn(0,0,Width,Height,20,20);SetWindowRgn(Handle,WindowRegion,True);end;end;

windows - 如何使用 Delphi 检查字符串是否是有效的 Windows 文件夹名称?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowcanIsanitizeastringforuseasafilename?我需要根据用户的文本创建一个文件夹(unicode字符串类型)。windows下文件夹名有些字符是非法的。您知道检查文件夹名称是否有效的Delphi函数吗?还是最好的,将字符串转换为有效的文件夹名称(去除或转换无效字符)?感谢您的帮助!编辑:请参阅下面关于非法关键字的注释。

windows - 有 EXE 互联网接入吗? (阻止它?)

我想编写一个分析EXE文件(x32、x64)的小工具,检查EXE是否具有访问互联网的能力。我从“NotonFirewall2003”(非常老...)知道这个功能,它能够扫描硬盘以查找可以访问互联网的EXE文件。问题是,如何检测呢?如果需要访问互联网,是否有一些总是导入的DLL文件?(WININET.DLL?)我还想知道,如果它有所不同,通信是如何开发的(使用框架、使用套接字、使用WinAPI,...?)相关的附带问题:是否有任何“简单”(并且希望“干净”)的方法来阻止应用程序访问互联网?(例如,Hook每一种/实现互联网访问所需的DLL导入?)我的工具的预期用途类似于my_easy_f

windows - 什么会导致 C++Builder/Delphi 线程和应用程序无法关闭?

有一次,在测试期间,我的C++Builder/Delphi应用程序在后台工作线程中引发了一个未捕获的异常。EurekaLog如我所料,捕获了异常并发送了错误报告,一切似乎都正常。但是,当我关闭应用程序的主窗口时,某些东西仍在后台运行,因为该应用程序仍在任务管理器中列出(并且仍然有打开的资源)。我试图通过故意在后台工作线程中引入各种错误来重现这个问题,但我做不到。什么会导致线程和应用程序像这样继续运行,即使在主窗口关闭后(并且可能已调用PostQuitMessage)?如何确保应用程序始终正常关闭? 最佳答案 第一条规则是线程的主执行

windows - 如何列出远程机器文件夹的内容

我正在寻找windowsapi函数或其他方法来获取位于我LAN上的机器中的文件夹的内容(文件夹和文件)。当然,对于我想访问的每台机器,我都有一个有效的Windows用户和密码。 最佳答案 您可以使用WMI,检查CIM_DataFile和CIM_Directory类。一些注意事项1.首先,您必须在客户端机器上启用wmi远程访问。阅读这些文章以了解如何做到这一点以及Windows版本之间的差异ConnectingtoWMIonaRemoteComputer,SecuringaRemoteWMIConnection.2.您必须始终使用过滤