我想设置属性,如Windows资源管理器文件属性->摘要选项卡(作者、标题、主题等)中所示。(在Windows7中是“详细信息”选项卡)我已经知道如何使用StgCreateStorageEx获取它们,目标文件扩展名为xls、xlsx、csv、txt和jpg文件。操作系统:Windows2003/2008/XP/Windows7。请注意,此代码将用于Web服务应用程序,并且服务器未安装Excel。注意:似乎没有关于如何设置它们的信息/示例代码。 最佳答案 要编写摘要信息,请使用IPropertyStorage:WriteMultipl
我正在尝试将备忘录文本写入Windows8中的DelphiXE3中的.txt文件,但出于某种原因,当我在IDE中运行该程序时它可以工作(临时.exe在我的D:驱动器上)但是当我将我的程序复制到C:\Myprogram.exe时出现错误“访问被拒绝”,所以我无法在C:\\上的任何地方写入我已经尝试制作list,但没有用。P.S.:我不想以管理员身份运行我的程序,但当我以管理员身份运行时它可以正常工作。 最佳答案 如果您不是管理员,则不能在某些地方写入。那是为了保护您(或您的用户),这是一条不禁用UAC就无法规避的规则,您不应该依赖它(
我有一个包含一些操作的表单。我需要在调用注销过程时禁用所有操作。我该怎么办? 最佳答案 如果“操作”是指您使用ActionList,则将其State设置为asSuspended。每documentation然后:Theactionsintheactionlistdonotrespondwhenclientobjectstellthemto"fire".TheEnabledpropertyforallactionsinthelistisunchanged 关于windows-如何禁用del
很简单,但我找不到答案。我正在Delphi5Enterprise中构建一个应用程序,并希望我的应用程序在密码字段中使用新的粗体黑点而不是星号。我该怎么做? 最佳答案 参见PasswordBox:ABetterWaytoEnterPasswords:Gettingtheblackdotstoshowupbasedonthevisualstylewasinsanelysimple!privateconstintES_PASSWORD=0x0020;...protectedoverrideCreateParamsCreateParams{
DelphiXE5中的ShowMessage()缩短文本。这对我来说是新的,还是由于编码url时的编码字符?我需要看到整个事情。我使用以下函数对我的url进行编码:functionTConnector.EncodeUrl(aDecodedUrl:String):String;beginresult:=tIdUri.URLEncode(aDecodedUrl);end;然后我在这里打电话:zEncodedUrl:=Connector.EncodeUrl('http://'+Connector.Host+'Node:'+edtPath.Text+'.GetObjectListDataAsJ
在Windows8.1上运行的Delphi(2007)程序中,我希望在用户单击属于我的程序的任务栏按钮时收到通知。所以我捕获了通常在这种情况下发送的WM_SYSCOMMAND。这适用于程序的主窗口。如果模态窗口处于事件状态(使用Form2.ShowModal打开),则相同的代码不能捕获WM_SYSCOMMAND,无论是在主窗体中还是在模态窗体中。有什么不同吗?有什么办法可以改变这种情况吗?这是我添加到两种形式的代码:unitunit1;interfacetypeTForm1=class(TForm)//[...]procedureWMSysCommand(varMsg:TWMSysCo
我编写了一个包含单个EXE文件的Delphi应用程序。如何将其发布到Windows应用商店? 最佳答案 Windows应用商店不支持经典(native)Win32应用程序,仅支持UniversalWindowsApps,Delphi目前不支持。因此,您不能将您的Delphi应用程序提交到Windows应用商店。但是,Microsoft目前正在研究ProjectCentennial,这将使打包经典Win32应用程序并将其发布到Windows应用商店成为可能。你可以signupforupdates当它可用时。
这是我的问题。我让主应用程序运行并打开模式对话框1,此时主应用程序屏幕已禁用,所有焦点都集中在新对话框1上。我从这个对话框1打开另一个模态对话框2。所以现在主屏幕和dialog1被禁用,这个dialog2拥有所有焦点。到目前为止完美。现在,当我关闭这个顶部dialog2时,我希望它只是跳回到dialog1。它专注于dialog1,但它现在启用了主应用程序,您可以单击任何发送dialog1的地方,但保持打开状态。这会导致1%的问题,即用户不会立即关闭dialog1而是继续点击。你可以想象QA不喜欢这样;o)看起来Windows变得有点困惑,因为主应用程序似乎知道它仍然打开了dialog1
我对从DLL内部创建的表单有一个小问题。基本上,当显示来自dll的表单(Form1)(我认为它必须保持在顶部)并且您打开另一个与主应用程序分开的表单(Form2)(即不在内部)时,会发生什么dll)。如果将光标放在Form2上的控件上以显示提示,则Form2将立即移到Form1后面。只有当MainFormOnTaskBar为true时才会发生这种情况。目前我们正在将主应用程序的Application.Handle传递给DLL,并将其分配给DLL的Application.Handle。我已设法通过将Application.MainForm.Handle传递给DLL以分配给DLL中的App
我有一个用Delphi7编写的监控应用程序,它在辅助监视器的一部分上运行。如果窗口最小化(例如,如果我在主显示器上使用“Windows-D”(查看桌面)命令),我想让它恢复正常可见性我每隔几秒就试过这个由计时器激活的代码:if(Mainform.WindowStatewsNormal)thenMainform.WindowState:=wsNormal;{restoremainwindowifminimized}这是行不通的。为了调试它,我更改了代码以在程序运行时将Mainform.WindowState的值记录到一个文件中。即使主窗体的窗口最小化,该值仍然是wsNormal。为什么?