摘要: 以下例程可以实现禁止用户用ALT+TAB或ALT+ESCAPE键切换程序,并且可以屏蔽左右windows键:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm) btn1: TButton; btn2: TButton;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObj 阅读全文
posted @ 2013-05-01 17:08 小天1981 阅读(323) 评论(0) 推荐(0) 编辑
摘要: uses TLHelp32, Classes;typeTProcessInfo = record ExeFile: string; ProcessID: DWORD;end;pProcessInfo = ^TProcessInfo;varAProcessList: Tlist; ////返回进程在这个TList中//获取进程列表procedure GetProcessList;varp: pProcessInfo;i: integer;ContinueLoop: BOOL;FSnapshotHandle: THandle;FProcessEntry32: TProcessEntry32;beg 阅读全文
posted @ 2013-05-01 17:06 小天1981 阅读(274) 评论(0) 推荐(0) 编辑
摘要: UsesComObj;Edit1.Text :=CreateClassID; 阅读全文
posted @ 2013-05-01 17:02 小天1981 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 一个友好的用户界面,必须具有下拉菜单,弹出菜单,工具条和快捷键。同样一个功能,程序员可能要提供几种操作方式,如文本拷贝,菜单命令&Copy,快捷键Ctrl+C,工具条上的拷贝按钮,都是程序员提供给用户的操作,可以大大方便了不同层次的用户。但是,多增加一种操作方式,就意味着增加响应事件的代码,还有,实现统一功能的多个操作必须一致,如剪切板上不为空的时候,菜单命令,快捷键,按钮,都是可以选择的Enabled状态,而剪切板上没有内容时,这些构件的Enabled状态都为假。当然,如果不集中控制这些细节的话,实现相同功能的构件要一致,必须多增加代码,控制较为复杂。Action就是将实现某个功能的 阅读全文
posted @ 2013-05-01 17:01 小天1981 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 使用VclSkin后在窗体上放个SpeedButton按钮,把按钮的Visible属性设置为False,在程序运行时改变按钮的Caption属性,按钮又会显示出来,虽然不能点击,可是看着别扭.下边为解决方法:打开VclSkin代码的WinSubClass单元文件,修改如下:procedure TSkinSpeedButton.DrawSpeedbtn( acanvas:Tcanvas; rc:TRect);var acolor:Tcolor; i,n,j:integer; r1,TextBounds:Trect; TextPos: TPoint; GlyphPos, ClientSize, G 阅读全文
posted @ 2013-05-01 17:00 小天1981 阅读(196) 评论(0) 推荐(0) 编辑
摘要: ******* 导出到excel EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""' /*********** 导入Excel SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\test.xls";User ID=A 阅读全文
posted @ 2013-05-01 16:56 小天1981 阅读(158) 评论(0) 推荐(0) 编辑
摘要: Delphi中获取打印机设备名和端口名uses Printers;{$IFNDEF WIN32}const MAX_PATH = 144;{$ENDIF}procedure TForm1.Button1Click(Sender: TObject);var pDevice : pChar; pDriver : pChar; pPort : pChar; hDMode : THandle;begin if PrintDialog1.Execute then begin GetMem(pDevice, cchDeviceName); GetMem(pDriver, MAX_PATH); GetMem 阅读全文
posted @ 2013-05-01 16:52 小天1981 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 在工程主文件中加入Delay(500);//启动程序时请延时一段时间,否则只能重启一次procedure RestartApp;varBatchFile: TextFile;BatchFileName: string;ProcessInfo: TProcessInformation;StartUpInfo: TStartupInfo;begintry BatchFileName := ExtractFilePath(ParamStr(0)) + '_D.bat'; AssignFile(BatchFile, BatchFileName); Rewrite(BatchFile); 阅读全文
posted @ 2013-05-01 16:50 小天1981 阅读(602) 评论(0) 推荐(0) 编辑
摘要: uses ActiveX, ComObj, ShlObj;function CreateLinkToStartUp(AppName, WorkingDirectory,LinkFileName, Description: string; CurrentUser: Boolean = True): Boolean;//******************************************************************************// Function: 在开始启动里建立程序快捷方式// Param: AppName string 目标// Workin 阅读全文
posted @ 2013-05-01 16:49 小天1981 阅读(172) 评论(0) 推荐(0) 编辑
摘要: function IsTableExist(TableName:String):Boolean var MyStringList:TStrings; begin MyStringList := TStringList.Create; try ADOConnection1.GetTableNames(MyStringList, False); if MyStringList.IndexofName(TableName)=-1 thenRestlt:=FALSE else Result:=TRUE; finally MyStringList.Free; end; end; 阅读全文
posted @ 2013-05-01 16:45 小天1981 阅读(176) 评论(0) 推荐(0) 编辑
摘要: //得到本机或者网络上共享打印机的状态和打印任务//author:ginsonic//zdcnow download from E-Euse winspool;function PrinterStatusText(Status: Integer): String;begincase Status of 0: Result := 'Waiting'; JOB_STATUS_PAUSED: Result := 'Paused'; JOB_STATUS_ERROR: Result := 'Error'; JOB_STATUS_DELETING: Res 阅读全文
posted @ 2013-05-01 16:44 小天1981 阅读(557) 评论(0) 推荐(0) 编辑
摘要: unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, WinSpool, StdCtrls; varpi2:PRINTER_INFO_2;pno:PRINTER_NOTIFY_OPTIONS;pinfo:PPrinterNotifyInfo;//pinty:pPrinterNotifyOptionsType;hResult:THandle;pdwChange:DWORD;Result:LongBool;bo:boolean;i:integer;pn:a 阅读全文
posted @ 2013-05-01 16:36 小天1981 阅读(705) 评论(0) 推荐(0) 编辑
摘要: function IsJpegFile(FileName: string): Boolean;constRightBuf : array[0..3] of Byte = ($FF,$D8,$FF,$D9);varBuf: array[0..3] of Byte;beginFillChar(Buf, 4, 0);with TFileStream.Create(FileName, 0) do begin Position := 0; ReadBuffer(Buf[0], 2); Position := Size-2; ReadBuffer(Buf[2], 2); Free;end;Result : 阅读全文
posted @ 2013-05-01 16:34 小天1981 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 运行Delphi Distille后按Ctrl+Alt+L在菜单上会多出Secret stuff的TabSheet,选择需要破解的Delphi版本后点OK按钮退出. 阅读全文
posted @ 2013-05-01 16:33 小天1981 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 大家检查下安装目录 lib下的SysConst.dcu文件,大小如果为17KB,就是被感染了。SysConst.dcu正确大小应该为12KB不到点点。lib/debug目录下有SysConst.dcu,替换回来就可以恢复正常! 阅读全文
posted @ 2013-05-01 16:22 小天1981 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 一般XML的编码格式设置成UTF8比较通用,下面演示使用UTF8编码方式存储和处理包含中文的XML字符串(文件)。1.设置启用内置的widestring支持NativeXml内部使用ANSI string和UTF8编码的string两种字符串类型。如果要让NativeXml能够解析widestring字符串的话,直接将TNativeXml的Utf8Encoded属性设置为True。如下:FXmlDoc:= TNativeXml.Create;FXmlDoc.Utf8Encoded:= True;这样NativeXml内部会自动对Widestring和utf8做转换。此处需要注意的是,如果执行F 阅读全文
posted @ 2013-05-01 16:21 小天1981 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 解压到目录:with CreateInArchive('Formats\zip.dll') dobegin OpenFile('c:\test.zip'); ExtractTo('c:\test');end;获取文件列表:with CreateInArchive('Formats\7z.dll') dobegin OpenFile('c:\test.7z'); for i := 0 to NumberOfItems - 1 do if not ItemIsFolder[i] then Writeln(ItemPat 阅读全文
posted @ 2013-05-01 16:16 小天1981 阅读(857) 评论(0) 推荐(0) 编辑
摘要: uses winsvc;function InstallService(ServiceName, DisplayName, FileName: string): boolean;varSCManager,Service: THandle;Args: pchar;beginResult := False;SCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);if SCManager = 0 then Exit;try Service := CreateService(SCManager, //句柄 PChar(ServiceNam 阅读全文
posted @ 2013-05-01 16:14 小天1981 阅读(211) 评论(0) 推荐(0) 编辑
摘要: //删除目录: function DelDirectory(const Source:string): boolean; var fo: TSHFILEOPSTRUCT; begin FillChar(fo, SizeOf(fo), 0); with fo do begin Wnd := 0; wFunc := FO_DELETE; pFrom := PChar(source+#0); pTo := #0#0; fFlags := FOF_NOCONFIRMATION+FOF_SILENT; end; Result := (SHFileOperation(fo) = 0); end;//复制目 阅读全文
posted @ 2013-05-01 16:07 小天1981 阅读(176) 评论(0) 推荐(0) 编辑
摘要: function Format(const Format: string; const Args: array of const): string; $[SysUtils.pas 功能 返回按指定方式格式化一个数组常量的字符形式 说明 这个函数是我在Delphi中用得最多的函数,现在就列举几个例子给你个直观的理解 "%" [索引 ":"] ["-"] [宽度] ["." 摘要] 类型 Format('x=%d', [12]); //'x=12' //最普通 Format('x 阅读全文
posted @ 2013-05-01 16:06 小天1981 阅读(341) 评论(0) 推荐(0) 编辑