
delphi
文章平均质量分 78
Jackalfly
这个作者很懒,什么都没留下…
展开
-
rdp
1. 首先确保你的机器上存在mstscax.dll,如果没有这个文件,可以从http://download.microsoft.com/download/whistler/tools/1.0/wxp/en-us/msrdpcli.exe下载并安装远程桌面连接软件.或者使用WindowXP中自带的mstscax.dll,运行regsvr32 mstscax.dll进行注册,ccrun测试使用的mst原创 2012-08-21 14:56:58 · 2251 阅读 · 2 评论 -
遍历进程
procedure GetCurrentApps;{ 返回当前运行的进程的可执行文件名称列表}var ContinueLoop: BOOL; SnapshotHandle: THandle; ProcessEntry32: TProcessEntry32; hProcess: THandle; Buffer: array [0 .. MAX_PATH原创 2012-08-27 14:39:17 · 1130 阅读 · 0 评论 -
API修改访问注册表的权限
#include #include #pragma comment (lib,"Advapi32.lib")void SetRegPrivilege() { DWORD dwRet;// 下面这个字符串的值修改为想要进行权限操作的注册表项,注册表每一级的权限是不一样的,所以需要很具体地指定到某一级LPSTR SamName = "MACHINE\\SAM\\原创 2012-07-25 14:32:10 · 7546 阅读 · 0 评论 -
Delphi之ADO操作Access
unit frm_Ado;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB;type TForm_Ado = class(TForm) ADOConnection1: TADOCon原创 2012-03-30 11:26:54 · 7337 阅读 · 1 评论 -
delphi修改注册表那些常用操作(续)
添加环境变量:procedure InstallPath(path: string);var r: TRegistry; sysPath: string; dwReturnValue: Cardinal;begin r := TRegistry.Create; try r.RootKey := HKEY_LOCAL_MACHINE; i原创 2012-08-15 11:10:44 · 1478 阅读 · 0 评论 -
注销远程用户(会话)
Delphi实现:usesWtsApi32;//通过会话ID得到会话名称procedure GetSessionUserName(dwSessionId: dword; var UserName: string);var bRes: boolean; dwBufferLen: dword; Ptr: Pointer;begin bRes := WTSQuerySe原创 2012-08-27 16:08:43 · 7620 阅读 · 8 评论 -
事件对象
你创建一个线程时,其实那个线程是一个循环,不是只运行一次的。这样就带来了一个问题,在那个死循环里要找到合适的条件退出那个死循环, 那么是怎么样实现它的呢?在Windows里往往是采用事件的方式,当然还可以采用其它的方式。 在这里先介绍采用事件的方式来通知从线程运行函数退出来,它的实现原理是这样,在那个死循环里不断地使用WaitForSingleObject函数来检查事件是否满足,原创 2012-03-27 12:25:01 · 709 阅读 · 0 评论 -
FormatMessage
当许多系统函数失败时,他们设置的最后一个错误代码。如果您的应用程序需要更多详细信息的错误,它可以检索使用GetLastError函数的最后一个错误代码,并使用FormatMessage函数显示错误的描述。DWORD WINAPI FormatMessage( __in DWORD dwFlags, __in LPCVOID lpSource, _原创 2012-09-13 17:44:03 · 1046 阅读 · 0 评论 -
注册表加载配置单元
问题:我想对一些NT用户进行配置,在代码中实现加载其NT账户下的NTUSER.DAT文件,修改需要的键值:例:禁用对用户test的CMD:[HKEY_USERS\S-1-5-21-872786649-1826467909-1269344878-1555\Software\Policies\Microsoft\Windows\System]"DisableCMD"=dword:000原创 2012-08-30 12:10:22 · 8693 阅读 · 0 评论 -
文件夹删除/清空
代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI, cxShellBrowserDialog, StdCtrls;type TForm1 = class(TFor原创 2012-08-30 09:41:38 · 845 阅读 · 0 评论 -
NT服务程序
请先看一个例子:unit AppService;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs, ShellAPI, ExtCtrls; { TService是一个封装NT服务程序的类, 它的对象包含对服务的装卸、注册、取消原创 2012-03-14 11:35:57 · 2546 阅读 · 0 评论 -
Delphi下的COM编程
Delphi下的COM编程作者:岑心 Delphi通过向导可以非常迅速和方便的直接建立实现COM对象的代码,但是整个COM实现的过程被完全的封装,甚至没有VCL那么结构清晰可见。 一个没有C 下COM开发经验甚至没有接触过COM开发的Delphi程序员,也能够很容易的按照教程设计一个接口,但是,恐怕深入一想,连生成的代码代表何种意义,哪些能够定制都不清楚。前几期 “DELPHI下转载 2012-03-31 10:12:54 · 3949 阅读 · 0 评论 -
Delphi下的DLL编程
深入Delphi下的DLL编程作者:岑心引言相信有些计算机知识的朋友都应该听说过“DLL”。尤其是那些使用过windows操作系统的人,都应该有过多次重装系统的“悲惨”经历——无论再怎样小心,没有驱动损坏,没有病毒侵扰,仍然在使用(安装)了一段时间软件后,发现windows系统越来越庞大,操作越来越慢,还不时的出现曾经能使用的软件无法使用的情况,导致最终不得不重装系统。这种情况常常是由转载 2012-03-31 10:19:44 · 1716 阅读 · 0 评论 -
Delphi下的接口编程
基于Delphi的接口编程入门 为什么使用接口? 举个例子好了:有这样一个卖票服务,电影院可以卖票,歌剧院可以卖票,客运站也可以卖票,那么我们是否需要把电影院、、歌剧院和客运站都设计成一个类架构以提供卖票服务?要知道,连经理人都可以卖票,很显然不适合把经理人也包括到卖票服务的继承架构中,我们需要的只是一个共通的卖票服务。于是,卖票的服务是个接口,电影院、歌剧院什么的只要都遵循这样一个服务转载 2012-03-31 10:29:30 · 917 阅读 · 0 评论 -
“磁性” 窗口
{通常,我们拖动对话框窗口的标题栏来移动窗口,但有时候,我们想通过鼠标在客户区上拖动来移动窗口。拖动对话框窗口的标题栏来移动窗口的方案是,处理鼠标消息WM_LBUTTONDOWN和WM_LBUTTONUP。在OnLButtonUp函数中计算鼠标位置的变化,调用MoveWindow实现窗口的移动。注意,拖动标题栏移动窗口的时候,会出现一个矩形框,它提示了窗口移动的当前位置。当鼠标左键放开的时候,窗口转载 2012-04-05 13:33:39 · 2209 阅读 · 0 评论 -
虚拟桌面
后台调用外部程序的完美实现(delphi)最近在做的一个软件,其中有一部分功能需要调用其它的软件来完成,而那个软件只有可执行文件,根本没有源代码,幸好,我要做的事不难,只需要在我的程序启动后,将那个软件打开,在需要的时候,对其中的一个文本矿设置一些文字,再点击一个按钮就可以了。说到这里,相信你也有了对该功能的一些初步设想了,没错,其基本思路就是:1)调用CreateProcess()打原创 2012-03-14 11:21:47 · 1341 阅读 · 0 评论 -
控制Delphi的窗口显示位置
在使用Delphi进行工作时,也许需要将多个独立的窗口放在一个主窗口中,但有不打算使用多文档界面(MDI),那么下面介绍的方法可能对你会有所启发。直接控制窗口的产生过程,并指定它的容器对象即Parent属性或ParentWindow 属性。 使用容器。这个容器是指可以容纳目标窗口的控制元件(WindowsControl),它可以是窗口、面板、页面控制等VCL对象。一个窗口在类别注册后将调用A转载 2012-04-09 12:01:23 · 4975 阅读 · 0 评论 -
C++与Delphi数据类型的比较
DelphiC++MFC无符号8位0~255ByteUCHARunsigned charByte无符号16位0~65535WordUSHORTUnsigned shortWord无符号32位0~ 4294967295原创 2012-04-26 11:19:37 · 3275 阅读 · 0 评论 -
Delphi学习笔记一
声明:GetDesktopWindow: HWND; {无参数; 返回桌面窗口的句柄}举例:var h: HWND;begin h := GetDesktopWindow; ShowMessage(IntToStr(h));end;Application.MainForm句柄---------------------------------原创 2012-03-14 09:09:45 · 2896 阅读 · 1 评论 -
Delphi程序最小化到托盘
unit frm_CloseOption;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, DBCtrls, cxGraphics, cxControls, cxLookAndF原创 2012-03-20 12:22:33 · 1148 阅读 · 0 评论 -
Api实现Socket
program Project1;{$APPTYPE CONSOLE}uses windows, Messages, SysUtils, Variants, Classes, Winsock2, ChartoUnicode in 'ChartoUnicode.pas';type Runner = function(sc: TSoc原创 2012-03-14 09:48:03 · 982 阅读 · 0 评论 -
工作总结
①添加皮肤 控件:ExpressBars / TdxRibbon Dev Express / TdxSkinController / 双击TdxRibbon属性:ShowTabGroups falseShowTabHeaders falseSupport... True页面:uses dxRibbonForm,dxskinsdxribbonpainter;原创 2012-03-30 10:49:03 · 1971 阅读 · 0 评论