我有这个代码,看看我的前景窗口是否是SDImainframe.
Function Active_window_mf() :Boolean;
var
FromClass: PChar;
begin
MFhandle := GetForeGroundWindow;
GetMem(FromClass, 100);
GetClassName(MFhandle, PChar(FromClass), 800);
if StrPas(FromClass) = 'SDIMainFrame' then
result := true;
end;
Run Code Online (Sandbox Code Playgroud)
但是,MADExcept报告Getmem功能存在问题.任何人都可以建议,我的代码有什么问题?
我正在尝试下面的代码.但是,如果在此代码运行时单击窗体的关闭按钮,则不会发生任何操作.我怎么能纠正这个?即使执行此循环,我也需要关闭表单.
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to 9999999 do
begin
Memo1.Lines.Add('hi');
Application.ProcessMessages;
end;
end;
Run Code Online (Sandbox Code Playgroud) 我正在使用'run as admin ...'运行我的delphi应用程序,右键单击exe.此应用程序具有以下代码以插入HKLM注册表.
begin
kValue := 'testing';
Reg.CloseKey;
Reg.Free;
try
Reg := TRegistry.Create(KEY_READ OR KEY_WOW64_64KEY);
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\explorev2', True);
Reg.WriteString('test', kValue);
Result := Reg.ReadString('test');
except
;
end;
Run Code Online (Sandbox Code Playgroud)
我得到例外'未能为'test'设置数据; 虽然应用程序以管理员权限运行.任何人都可以帮帮我..?
任何人都可以解释一下为什么我在下面的块读取中遇到'I/O错误998'?
function ReadBiggerFile: string;
var
biggerfile: file of char;
BufArray: array [1 .. 4096] of char; // we will read 4 KB at a time
nrcit, i: integer;
sir, path: string;
begin
path := ExtractFilePath(application.exename);
assignfile(biggerfile, path + 'asd.txt');
reset(biggerfile);
repeat
blockread(biggerfile, BufArray, SizeOf(BufArray), nrcit);
for i := 1 to nrcit do
begin
sir := sir + BufArray[i];
Form4.Memo1.Lines.Add(sir);
end;
until (nrcit = 0);
closefile(biggerfile);
ReadBiggerFile := sir;
end;
Run Code Online (Sandbox Code Playgroud) 我正在尝试下面的代码,应该将剪贴板文本保存到Delphi XE6中的文本文件中.代码运行正常,但在输出文件中只生成垃圾值,即使剪贴板包含复制的文本片段也是如此.如何更改代码才能正常工作?
function SaveClipboardTextDataToFile(
sFileTo : string ) : boolean;
var
ps1,
ps2 : PChar;
dwLen : DWord;
tf : TextFile;
hData : THandle;
begin
Result := False;
with Clipboard do
begin
try
Open;
if( HasFormat( CF_TEXT ) ) then
begin
hData :=
GetClipboardData( CF_TEXT );
ps1 := GlobalLock( hData );
dwLen := GlobalSize( hData );
ps2 := StrAlloc( 1 + dwLen );
StrLCopy( ps2, ps1, dwLen );
GlobalUnlock( hData );
AssignFile( tf, sFileTo );
ReWrite( tf );
Write( tf, …Run Code Online (Sandbox Code Playgroud)