我收到了来自客户的错误报告。我的程序使用了Delphi的selectdirectory功能,让他选择程序使用的几个目录,允许在网络驱动器上。以下是错误报告的相关摘录:Whentryingtochangethedirectorythenetworkdriveswerenotshowninthedialog.Whenopening"Computer"inthebrowsemenuonlylocaldriveswereshown.Theroundaboutsolutionistoleavethedialogopen,disconnectthenetworkdrive,andre-connec
下午好。没有人面对在Delphi中添加Windows防火墙规则的问题吗?我需要限制来自特定IP地址的传入和传出连接。此代码在启动时向我抛出一个应用程序错误:ExceptionEVariantInvalidOpErrorinmoduleProject1.exeat00033E74.Invalidvariantoperation.有没有人有什么错误?procedureTForm1.FormCreate(Sender:TObject);ConstNET_FW_IP_PROTOCOL_TCP=6;NET_FW_IP_PROTOCOL_UDP=17;NET_FW_ACTION_ALLOW=1;N
我正在使用WinInet连接我们的一台服务器并从中检索信息。我正在使用以下内容:indexdata:arrayofbyte[1..5000]ofbyte;infoBuffer:array[0..5000]ofchar;BufferSize:DWORD;reserved:DWORD;text:string;BufferSize:=Length(infoBuffer);res:=HttpQueryInfo(hHttpRequest,HTTP_QUERY_RAW_HEADERS_CRLF,@infoBuffer,BufferSize,Reserved);Reserved:=0;Interne
我是Delphi,我需要一个函数来确定系统菜单(resp.窗口菜单,单击图标时出现的菜单)是否打开。原因是我正在编写一个反键盘记录器功能,它将垃圾发送到当前事件的editcontrol(这也阻止了读取WinAPI消息以读取内容的键盘记录器)。但是如果打开系统菜单,editcontrol仍然有焦点,所以垃圾将调用快捷方式。如果我在我的TForm1中使用消息WM_INITMENUPOPUP,我可以确定系统菜单何时打开,但我希望我不必更改TForm,因为我想编写一个非可视化组件,它不需要对TForm派生类本身进行任何修改。//IdonotwantthatsolutionsinceIhavet
我想为我的应用程序中的某些按钮制作自定义格式的提示。我用做一个tadvtoolpanel,显示在onmousemove事件上,但是不是很干净。是否有一个按钮(例如来自TMS组件)可以直接启用此功能?我只希望用户在其上的mousemove上有一个快速恢复窗口。希望我能解释清楚。谢谢格温内尔 最佳答案 使用TAdvOfficeHint从TMS并将其放在您的主窗体上。所有TMS按钮都有一个OfficeHint属性,可让您指定提示的标题、文本和图标。如果未指定办公室提示,则使用普通的Hint属性。
我有一个应用程序调用了其他几个用delphi编写的.exe组件。我问的问题是,是否可以关闭Delphi应用程序及其打开的所有应用程序(单击“[x]”按钮时)?此外,很明显,我已经学会了如何打开和关闭外部应用程序,但在某些情况下,例如WindowsMediaPlayer,它似乎不起作用...谁能给我一些解决方案?提前致谢 最佳答案 您可以使用JobObjects,阅读这些函数的文档CreateJobObject和AssignProcessToJobObject.Ajobobjectallowsgroupsofprocessestobe
我对在delphi中使用*.RES文件有疑问。例如我有两个资源文件:1.RES和2.RES。这两个RES文件都包含名为IMAGE1(jpg)的不同图像。我使用这些命令将RES文件添加到Delphi应用程序:{$R'1.RES'}{$R'2.RES'}如何指定要使用的资源文件?如果我只有一个RES文件,当我想检索图像时,我会使用这些命令:varRS:TResourceStream;jpg:TjpegImage;RS:=TResourceStream.Create(HInstance,'IMAGE1',RT_RCDATA);jpg.LoadFromStream(RS);现在,如果我有2个R
我在表单上有一个简单的ListView,我想完全关闭热跟踪。HotTracking属性设置为False,但在鼠标光标下的项目上仍然绘制了一个蓝色矩形...德尔福XE3、Windows7 最佳答案 该矩形是资源管理器主题的一部分。资源管理器主题是可选的,ListView类选择使用它并通过调用SetWindowTheme将其强加到它的CreateWnd中。您可以通过调用SetWindowTheme撤消更改来覆盖该行为。使用插入器类的示例:usesVcl.ComCtrls,Winapi.UxTheme;typeTListView=clas
我正在尝试编写一个应用程序来放置当前温度(从在线资源中获取)并在系统托盘/通知(适用于Windows7+)的应用程序图标中显示温度(作为文本)。我正在使用DelphiTTrayIcon组件,但我不知道如何在图标区域显示文本。我过去有其他应用程序可以执行此操作,所以它一定是可能的。 最佳答案 通知图标就是这样。图标。他们无法显示您提供给他们的文本。因此,为了实现您的目标,您需要动态创建一个包含文本的图标并将其作为通知图标提供。请注意,通知图标是一个小图标,其大小由SM_CXSMICON给出。系统指标。
我必须编写一个小应用程序来处理保存在给定目录中的文件。我不喜欢编写无限循环、计时器和诸如此类的东西。我想知道是否有(我敢打赌有!)是否有任何WindowsAPI会向我的应用程序发送一条消息,以获取保存在给定目录中的任何文件。 最佳答案 ReadDirectoryChangesW的正确使用非常重要。有一个工作样本here.我使用过与此密切相关的生产代码,但我发现没有更好的示例可以使用。请注意,here中描述了API的已知问题(诚然,可能不会影响您的极端情况)和here,以及进一步的使用建议here.