我有一个KNOWNFOLDERID,我想知道相应的路径,如C:....\folder。KNOWNFOLDERID可以在这里找到。http://msdn.microsoft.com/en-us/library/bb762584%28VS.85%29.aspx我想使用winapi(我不想构建包含所有KNOWNFOLDERID和路径的数组)。谢谢 最佳答案 只需调用SHGetKnownFolderPathAPI函数。由于此函数是在Vista中添加的,因此不会在Delphi7附带的库单元中声明它。因此您需要自己声明它。typeKNOWNFO
我一直在编写一个程序,理想情况下它将在后台的服务器上运行而不会关闭-因此不存在任何内存泄漏很重要。我的程序涉及使用Windows终端服务API(wtsapi32.dll)检索实时session信息,并且由于信息必须是实时的,该函数每隔几秒运行一次,我发现调用WTSEnumerateSessionsEx函数具有导致相当大的内存泄漏。似乎按照MSDN文档中的说明调用WTSFreeMemoryEx似乎没有任何影响,但我没有收到任何来自这两个调用的错误消息。总而言之:问题不在于执行WTSEnumerateSessionsEx,因为返回了有效数据;内stub本没有被释放,这会导致长时间运行时出现
只是检查在编写Windows服务时是否有任何最佳实践。Service(单线程)需要定时工作,目前只能想到:使用sleep(),然后循环检查时间?使用TTimer?有什么建议吗? 最佳答案 您的服务是单线程的并不重要,因为服务将始终在不同的线程上下文中调用其代码:服务管理器将启动、停止、暂停和恢复服务执行,并请求当前服务状态。服务本身将至少有一个线程执行真正的工作,它需要对来自服务管理器的请求使用react,根据请求更改服务执行状态,并返回请求的信息。服务需要在相当短的时间内响应来自服务管理器的请求,否则它会认为服务已挂起并杀死它。这
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion您会考虑将Delphi2010/XE用于开发新的Windows桌面项目,还是认为它与.Net和Microsoft产品(WPF)的当前状态不符?如果您会/不会使用它,请解释原因。编辑我同意最初的问题有点争论。然而,这是一个严肃的问题。我住在澳大利亚,我没有看到很多包含最近delphi经验的开发人员简历,所以当我说“死”时,我只是在质疑它是否是一个糟糕的选择,因为使用它的人越来越少。
我认为D2006(WIN32)中的EOLN函数在应用于具有Unix类型的换行符(LF)的文本文件时存在错误,当这个LF是输入缓冲区中的第一个字符。错误的来源是行TEST[EDX].TTextRec.Mode,tfCRLF应该正确阅读TEST[EDX].TTextRec.Flags,tfCRLF是Flags字段存储线制动样式,而不是Mode字段存储输入/输出模式。上一行是Sytem单元下面片段的一部分,当需要重新填充缓冲区时调用它。这个错误没有被注意到,因为Mode字段是输入文件的奇数(这是EOLN通常使用的模式)fmInput=$D7B1;为Windows生成的文本文件匹配tfCRLF
我查了一些代码,好像所有东西都在创建一些数学函数波,但我想要一个单音,或者用自定义单音制作的自定义波。我读过这个HowcanIgeneratecontinuoustonesofvaryingfrequencies?这与我的答案很接近。假设我要像上面的链接一样使用waveOutWrite,我似乎无法弄清楚如何为HWAVEOUT中的每个样本计算放大器/频率。在链接中的代码中,它是这样完成的:样本[i]:=round(vol*sin(omega*t));假设我想要一个15kHz频率的单音和一些放大器(无论哪个放大器),如何计算Sample[1]? 最佳答案
我们有一个大型DelphiXE代码库,我们希望将其移植到64位。我拥有DelphiXE2许可证,但我找不到任何警告或提示可以帮助我检测有效的32位结构,这些结构现在会导致64位平台下的数据丢失。例如,对于32位编译器完全有效的THandle到Cardinal的赋值在为Win64编译时不会引发任何警告。在使用Delphi2009迁移到Unicode时,我们收到了大量警告,这对我们跟踪和修复可疑代码有很大帮助。使用XE2,我找不到任何东西。我无法想象在编译器级别没有集成任何东西来避免我们对所有代码进行手动审查。我错过了什么吗?如果您尝试过,您是如何将项目移植到64位的?谢谢!
多年来,我的应用程序一直采用一种模式,客户可以“禁用对操作系统的访问”。显然,此功能有悖常理(至少就Windows而言),但在某些安装中,我的应用程序是唯一应该对机器运算符(operator)可见的程序,在这种情况下,此功能很有用。我使用的技术是从几个“层”构建的:隐藏任务栏和按钮。禁用任务切换。禁用我的主窗体系统图标。要禁用我使用的任务栏://Getahandletothetaskbaranditsbutton..Taskbar:=FindWindow('Shell_TrayWnd',Nil);StartButton:=FindWindow('Button',Nil);//Hidet
本地工作站:Win7终端服务器:Win2008服务器Outlook:2003在本地工作站上运行。我正在尝试实现将Outlook消息从本地工作站复制和粘贴到终端服务器。使用下面的代码,我可以将文件从本地工作站复制并粘贴到服务器...TmyMemoryStream=class(TMemoryStream);...procedureTmyMemoryStream.LoadFromIStream(AStream:IStream);variPos:Int64;aStreamStat:TStatStg;oOLEStream:TOleStream;beginAStream.Seek(0,STREAM
为了实现基于Windows的翻页应用程序,我需要能够将大量PDF页面转换为高质量的JPG,而不仅仅是缩略图。目的是为此实现最佳质量/文件大小,类似于PhotoshopsSaveforWeb所做的那样。目前我正在使用DatalogicsAdobePDFLibrarySDK,它似乎无法完成该任务。因此,我正在寻找一个替代的commcericalC++或Delphi库,它提供了良好的质量/大小/速度。在这里做了一些搜索后,我注意到大多数帖子都是关于GS和Imagekick的,我也测试过,但我对输出和速度不满意。目标是导入300dpi的PDF并将其转换为JPG质量50、1500px高度和3