草庐IT

windows - Delphi 中字符串操作的访问冲突

我有一个Delphi应用程序,它从一个文件中读取数据并将其存储在一个数组中。文件中的每一行都包含一个地址、lineTypeIndicator和数据。这是算法(包含我认为很关键的代码):AssignFile(inputFile,inFileName);Reset(inputFile);whilenotEOF(inputFile)dobeginReadln(inputFile,fileLineBuffer);ifCopy(fileLineBuffer,8,2)='01'then//Nevermanagedtocatchtheerrorherebeginbreak;end;//extract

windows - 如何防止臭名昭著的 GbPlugin 关闭我的应用程序?

在某些客户中,我的应用程序被一个名为“GBPlugin”的奇怪插件关闭;它由一些巴西银行网站安装,以“保护”客户免受诈骗。但事实上,该插件所做的是使用它自己从未明确的判断来强制关闭看似“可疑”的应用程序。我有一个显示确认对话框的OnCloseQuery方法,但插件会绕过它并在应用程序打开后立即强制关闭它。并非所有客户都会遇到此问题,在某些情况下,插件让我的应用程序正常运行,而在其他情况下,它会在没有警告的情况下关闭应用程序。我的EXE文件被加密以便难以破解,我发现这是用来判断应用是否可疑的因素之一。我已经尝试通过在我的应用程序激活时关闭插件进程来进行反击,但是一旦它关闭,另一个实例就会

windows - Delphi7 > MSMQ 3.0 失败的导入类型库 (TLB)。 "Element not found"错误

我正在尝试从mqoa.tlb或mqoa.dll的Delphi7>Project>ImportTypeLibrary创建单元,在WinXP和Win2003上,甚至在Win7x64上(都是mqoa30.tlb和mqoa.tlb(或*.dll),代表MSMQ4.0)-每次它都失败并出现错误“找不到元素”。根据MSMQ版本,在Windows2003和WindowsXP上安装了“MSMQ3.0”,但在我的旧项目中,我从mqoa20.tlb("C:\WINDOWS\system32\mqoa20.tlb”)。我想切换到MSMQ3.0接口(interface),但我不能。有什么建议吗?顺便说一下,曾

windows - 从开始屏幕而不是桌面运行 Delphi 应用程序需要什么 API

当您编译并运行Delphi“Metro”应用程序时,它会从Windows8的桌面运行。哪些Windows8API可以使Delphi应用程序从开始屏幕运行?我指的不是WindowsRT。 最佳答案 那是不可能的。Delphi无法生成WinRT应用程序。 关于windows-从开始屏幕而不是桌面运行Delphi应用程序需要什么API,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/21

windows - 隐藏主窗体但不隐藏任务栏

我在这里搜索并找到了一些产品,但没有一个对我有用,因为D5(win8)似乎没有...Application.MainFormOnTaskbar:=True;它抛出一个“未声明的标识符”错误。我试过...WindowState:=wsMinimized;...但这在屏幕底部显示为一个小标题栏。有趣的是,当我使用主窗体右上角的“-”时,它完全满足了我的需要。它隐藏了主窗体,但在任务栏上保留了图标,单击该图标可恢复主窗体。如何让表单隐藏但仍然在任务栏上留下一个图标? 最佳答案 你在找Application.Minimize;

windows - 添加和获取 CHM 文件版本

我需要添加版本信息并从CHM文件中检索它,以便向用户发出有关可用和下载的新CHM文件版本的警告消息。这意味着,我应该比较不同机器(服务器和客户端)上的CHM版本。另一种方法是日期和时间检查,但我应该记住时区,所以这很复杂,因为还应该记住不同的文件系统,根据WindowsSDK帮助关于SetFileTime函数和FILETIME结构。如果有人知道诀窍-请分享。 最佳答案 .chm文件没有版本信息。您将需要找到一些替代方法来标记文件版本。我想到的一种方法是在包含版本的帮助文件中包含一个主题。我想这个主题会被隐藏,没有被任何其他主题链接,

windows - 使用命令行打开 Windows 计划任务 Gui 属性

我正在创建一个Delphi组件,以使用schtasks中的命令行在Windows中安排任务。我的疑问是:创建任务的基本框架后,我想通过Windows任务编辑器打开它们的属性。我还没有找到一种方法来调用我创建的标准Windows界面的任务的属性。也许有人可以帮助我?图片示例: 最佳答案 我不知道也找不到在UI中打开特定任务的方法。您可以使用taskschd.msc打开任务计划程序UI,但这不会打开特定任务。所以恐怕您必须自己构建一些UI。然后您可以使用API来更改属性。更改属性也可以通过schtasks完成。它有几个命令行选项,其中之

Windows 7 中的 Windows 7 兼容模式

我有一个用DelphiXE5编写的应用程序,主要针对Windows7,但也针对Windows8和8.1。它确实要求用户具有管理员权限。它在我用户的几乎所有计算机上都运行良好,但在少数情况下,它仅在为Windows7选择Windows7兼容模式时才起作用。当应用程序以Windows对话框形式启动时,错误直接出现:[NameOfMyProgram]hasstoppedworking.ProblemEventName:APPCRASHFaultModuleName:KERNELBASE.dllFaultModuleVersion:6.1.7601.18839Exceptioncode:0ee

windows - 在 C :\ProgramData 中创建用户独立的日志文件

我想在用户独立的哺乳期为我的应用程序创建日志文件。据我所知C:\ProgramData是个好地方。我试过这种方法:ifnotDirectoryExists('C:\ProgramData\MyApp')thenCreateDirectory('C:\ProgramData\MyApp',nil);LogFileStream:=TFileStream.Create('C:\ProgramData\MyApp\LogFile01.txt',fmCreate,(fmOpenReadorfmShareDenyNone));这种方法的问题是创建的文件没有AuthenticatedUsers也不E

windows - 如何在Delphi中填写 "waveInGetDevCaps"函数参数?

我正在使用Window的API,尤其是“WaveIn”函数。我想知道我的笔记本电脑的输入音频设备支持的格式。因此,我使用了函数“waveInGetDevCaps”。此函数调用一旦被调用,就会用有关音频设备的信息填充WAVEINCAPS结构。到目前为止,这是我的代码:procedureTForm1.Button4Click(Sender:TObject);varwc:WAVEINCAPS;//structuretobefilledwithaudiodeviceinfobeginwaveInGetDevCaps(WAVE_MAPPER,&wc,sizeof(WAVEINCAPS));Sho