我的程序在硬盘可用空间上执行任务.任务很长,需要1-2个小时.
问题是,在笔记本电脑上,当用户处于非活动状态时,硬盘可能会在几分钟后关闭.
如何以编程方式防止Windows硬盘关闭(关闭电源)?
在一个帖子中,如果我使用,是否有区别
Coinitialize(nil)
Run Code Online (Sandbox Code Playgroud)
代替
CoInitializeEx(0, COINIT_MULTITHREADED);
Run Code Online (Sandbox Code Playgroud)
我使用Delphi 7,但我认为其他编程语言可以保留这个问题感谢您的帮助.
为SAFARI存储cookie的方式已经改变了SAFARI 5.1,并且它们在文件的最后8个字节中添加了一种完整性控制代码:
该文件是%APPDATA%\ Apple Computer\Safari\Cookies\Cookies.binarycookies
有人知道最后8个字节对应的是什么吗?
CRC32检查?
请帮忙
我不明白如何使用SetThreadPriority
以及SetPriorityClass
降低和提高线程的优先级。
我的理解是,SetPriorityClass
选择进程可用的优先级范围,并SetThreadPriority
设置类内的相对优先级。
例如,对线程执行此操作的结果是什么:
SetPriorityClass(GetCurrentProcess(), PROCESS_MODE_BACKGROUND_BEGIN);
SetThreadPriority(GetCurrentThread(), THREAD_MODE_BACKGROUND_END);
Run Code Online (Sandbox Code Playgroud)
感谢帮助。
你可以用break退出while循环.
如何退出if .
Delphi中有一种GOTO吗?
procedure ...
begin
if .... then
begin
here the code to execute
if (I want to exit = TRUE) then
break or GOTO
here the code not to execute if has exited
end;
here the code to execute
end;
Run Code Online (Sandbox Code Playgroud) 我的应用程序是一个用Delphi 7编写的非unicode应用程序.
我想用这个函数将unicode字符串转换为ANSI:
function convertU(ws : widestring) : string;
begin
result := string(ws);
end;
Run Code Online (Sandbox Code Playgroud)
我还使用此代码来设置要转换的正确代码页.
initialization
SetThreadLocale(GetSystemDefaultLCID);
GetFormatSettings;
Run Code Online (Sandbox Code Playgroud)
它在VCL主线程中工作得很好,但在TThread中却没有,在那里我得到一些问题标记'?' 作为函数convertU的结果.
为什么不在TThread?
我有一个KNOWNFOLDERID
,我想知道相应的路径,如C:.... \文件夹.
KNOWNFOLDERID
可以在这里找到.
http://msdn.microsoft.com/en-us/library/bb762584%28VS.85%29.aspx
我想使用win api (我不想用所有KNOWNFOLDERID和路径构建一个数组).
谢谢
是否可以声明一个字符串var并将函数的结果作为初始值赋予它,如下所示:
var
s : string = myfunction();
Run Code Online (Sandbox Code Playgroud)
谢谢
我尝试binary
在Delphi中读取存储为注册表值的GUID值.当我用BintoHex读取它时,结果是相反的顺序.似乎我必须交换字节,但我认为BinToHex会这样做.
我参考了这个帖子,但我找不到合适的解决方案: 如何在Delphi中将字节数组转换为十六进制表示 似乎是由于Eendian很少.
在下面,您可以看到存储在注册表中的GUID
这是我的代码:
var
s : string;
buffer : pointer;
...
begin
getmem(buffer, 1024*1024);
....
reg.ReadBinaryData(iValueOfregistry, buffer^, 1024*1024);
....
bintohex(pointer(longint(buffer)+14), PChar(s), 32);
Run Code Online (Sandbox Code Playgroud)
输出s: 90E24D373F126545916439C4925E467B
GUID应为FOLDERID_Downloads GUID:
{374DE290-123F-4565-9164-39C4925E467B}
请帮忙
Coinitialize
在使用之前,我是否需要在Delphi中调用main/VCL线程ShellExecuteEx
?
对于一个线程,是的,但对于VCL线程?