Lines.LoadFromFile(sFileName) else Application.MessageBox('找不到指定的档案', '讯息', 48); end; end;
关闭Windows 控制WINDOWS的开关:如关闭WINDOWS,重新启动WINDOWS等, ExitWindowsEx(UINT uFlags,DWORD dwReserved);是实现这一功能的API函数 首先定义常数 const EWX_FORCE=4; file://关闭所有程序并以其他用户身份登录 EWX_LOGOFF=0; file://重新启动计算机并切换到MS-DOS方式 EWX_REBOOT=2; file://重新启动计算机 EWX_SHUTDOWN=1;//关闭计算机 运行时给How赋值,让他等于EWX_SHUTDOWN或其他,调用以下语句 ExitWindowsEx(How,0);
关闭外部应用程序 如何在 Delphi 应用程序中, 去关闭外部已开启的应用程序? 下面给出一段在 Delphi 中关闭"计算器"程序为例: var HWndCalculator : HWnd; begin // find the exist calculator window HWndCalculator := Winprocs.FindWindow(nil, '计算器'); // close the exist Calculator if HWndCalculator <> 0 then SendMessage(HWndCalculator, WM_CLOSE, 0, 0); end;
得到执行程序的目录 SysUtils 单元中有 ExtractFileDir 与 ExtractFilePath两个类似的函数, 用哪一个?没有太大的关系。 不过有以下的差别: ExtractFilePath 传回值的最後一个字元是反斜杠"/"。 procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(ExtractFileDir(Application.Exename)); // ie: c:\temp ShowMessage(ExtractFilePath(Application.Exename)); // ie: c:\temp\ end; 相同点: 如果执行文件在根目录下(如:C:\SAMPLE.EXE)的话, 两者的传回值相同, 且最后一个字符都是"/"。
使用GetFileVersionInfo 得到版本信息的例子 Samples Using GetFileVersionInfo? 回答1: procedure GetBuildInfo(var V1, V2, V3, V4: Word); var VerInfoSize: DWORD; VerInfo: Pointer; VerValueSize: DWORD; VerValue: PVSFixedFileInfo; Dummy: DWORD; begin VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy); GetMem(VerInfo, VerInfoSize); GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo); VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize); with VerValue^ do begin V1 := dwFileVersionMS shr 16; V2 := dwFileVersionMS and $FFFF; V3 := dwFileVersionLS shr 16; V4 := dwFileVersionLS and $FFFF; end; FreeMem(VerInfo, VerInfoSize); end;
treeview 右键选中 procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var TreeNode: TTreeNode; l_lPARAM: LPARAM; begin if Button <> mbRight then Exit; TreeNode := TreeView1.GetNodeAt(x, y); if TreeNode <> nil then begin TreeView1.Selected := TreeNode; l_Lparam := x + (y shl 16); sendmessage(Treeview1.Handle, WM_LBUTTONDOWN, MK_LBUTTON, L_lparam); sendmessage(Treeview1.Handle, WM_LBUTTONUP, MK_LBUTTON, L_lparam); end;
|