草庐IT

delphi-xe

全部标签

windows - 为什么我的 Delphi 应用程序说存在一个不存在的文件?

这个问题在这里已经有了答案:Whydofilesgetplacedin"C:\Users\AppData\Local\VirtualStore\ProgramFiles(x86)"?(2个答案)关闭4年前。我有以下32位Delphi项目源:programTestApp;usesSysUtils,Dialogs,Windows;varfilename:String='C:\ProgramFiles(x86)\SomeApplication\foo.txt';fd:TWIN32FindData;h:THandle;beginFillChar(fd,SizeOf(fd),0);h:=Find

windows - Delphi SelectDirectory 与网络驱动器的奇怪行为

我收到了来自客户的错误报告。我的程序使用了Delphi的selectdirectory功能,让他选择程序使用的几个目录,允许在网络驱动器上。以下是错误报告的相关摘录:Whentryingtochangethedirectorythenetworkdriveswerenotshowninthedialog.Whenopening"Computer"inthebrowsemenuonlylocaldriveswereshown.Theroundaboutsolutionistoleavethedialogopen,disconnectthenetworkdrive,andre-connec

windows - 通过 API Windows Firewall Delphi 添加规则阻止 IP 地址

下午好。没有人面对在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

windows - delphi 中的动态数组和 wininet?

我正在使用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

windows - Delphi:系统菜单是否打开?

我是Delphi,我需要一个函数来确定系统菜单(resp.窗口菜单,单击图标时出现的菜单)是否打开。原因是我正在编写一个反键盘记录器功能,它将垃圾发送到当前事件的editcontrol(这也阻止了读取WinAPI消息以读取内容的键盘记录器)。但是如果打开系统菜单,editcontrol仍然有焦点,所以垃圾将调用快捷方式。如果我在我的TForm1中使用消息WM_INITMENUPOPUP,我可以确定系统菜单何时打开,但我希望我不必更改TForm,因为我想编写一个非可视化组件,它不需要对TForm派生类本身进行任何修改。//IdonotwantthatsolutionsinceIhavet

windows - 自定义窗口提示 Delphi 中的按钮

我想为我的应用程序中的某些按钮制作自定义格式的提示。我用做一个tadvtoolpanel,显示在onmousemove事件上,但是不是很干净。是否有一个按钮(例如来自TMS组件)可以直接启用此功能?我只希望用户在其上的mousemove上有一个快速恢复窗口。希望我能解释清楚。谢谢格温内尔 最佳答案 使用TAdvOfficeHint从TMS并将其放在您的主窗体上。所有TMS按钮都有一个OfficeHint属性,可让您指定提示的标题、文本和图标。如果未指定办公室提示,则使用普通的Hint属性。

windows - 关闭 delphi 应用程序及其打开的另一个应用程序

我有一个应用程序调用了其他几个用delphi编写的.exe组件。我问的问题是,是否可以关闭Delphi应用程序及其打开的所有应用程序(单击“[x]”按钮时)?此外,很明显,我已经学会了如何打开和关闭外部应用程序,但在某些情况下,例如WindowsMediaPlayer,它似乎不起作用...谁能给我一些解决方案?提前致谢 最佳答案 您可以使用JobObjects,阅读这些函数的文档CreateJobObject和AssignProcessToJobObject.Ajobobjectallowsgroupsofprocessestobe

windows - Delphi 在 exe/dll 中添加和使用多个资源文件 *.RES

我对在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

windows - 如何从任务栏(XE4)隐藏 firemonkey 应用程序按钮?

根据这个question可以通过将窗口样式更改为WS_EX_TOOLWINDOW来隐藏fmx任务栏图标。在XE2和XE3中,这段代码有效:usesFMX.Platform.Win,Winapi.Windows;procedureTForm1.Button1Click(Sender:TObject);varh:THandle;beginh:=FmxHandleToHWND(Handle);ShowWindow(h,SW_HIDE);SetWindowLong(h,GWL_EXSTYLE,GetWindowLong(h,GWL_EXSTYLE)orWS_EX_TOOLWINDOW);Sho

windows - 如何关闭 Delphi ListView 上的热跟踪?

我在表单上有一个简单的ListView,我想完全关闭热跟踪。HotTracking属性设置为False,但在鼠标光标下的项目上仍然绘制了一个蓝色矩形...德尔福XE3、Windows7 最佳答案 该矩形是资源管理器主题的一部分。资源管理器主题是可选的,ListView类选择使用它并通过调用SetWindowTheme将其强加到它的CreateWnd中。您可以通过调用SetWindowTheme撤消更改来覆盖该行为。使用插入器类的示例:usesVcl.ComCtrls,Winapi.UxTheme;typeTListView=clas