這個是一人COM應用,利用客戶應用程序通過遠程服務器上的服務端應用發送按鍵。由於這段工作時間緊,我先將源代碼中部份內容貼上,並在資源中提供全部源代碼下載。 注意看到程序代碼裡“魔獸世界”四個字,大家就應該可以想到我用它是干什麼的了,不是要黑別人,而是要帶一個牧師小號,呵呵。
==========服務器端================
unit skSrv;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,SyncObJS;
type
TfrmskSrv = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Button1: TButton;
memInfo: TMemo;
chkBlock: TCheckBox;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure chkBlockClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmskSrv: TfrmskSrv;
csection:TCriticalSection;
InfoCount:integer;
BlockInfo:integer;
implementation
{$R *.dfm}
procedure TfrmskSrv.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TfrmskSrv.FormCreate(Sender: TObject);
begin
csection:=TCriticalSection.Create;
BlockInfo:=0;
end;
procedure TfrmskSrv.FormDestroy(Sender: TObject);
begin
csection.Free;
end;
procedure TfrmskSrv.chkBlockClick(Sender: TObject);
begin
if chkBlock.Checked then
InterlockedIncrement(BlockInfo)
else
InterlockedDecrement(BlockInfo);
end;
end.//======類型庫===========
unit SdkSrv_TLB;
// ************************************************************************ //
// WARNING
// -------
// The types declared in this file were generated from data read from a
// Type Library. If this type library is explicitly or indirectly (via
// another type library referring to this type library) re-imported, or the
// 'Refresh' command of the Type Library Editor activated while editing the
// Type Library, the contents of this file will be regenerated and all
// manual modifications will be lost.
// ************************************************************************ //
// PASTLWTR : 1.2
// File generated on 2007-08-07 19:37:40 from Type Library described below.
// ************************************************************************ //
// Type Lib: D:\MyPrograms\Sendkey\src\SdkSrv.tlb (1)
// LIBID: {3B01ECB9-6782-4B27-8BB4-84B2B4E4B962}
// LCID: 0
// Helpfile:
// HelpString: SdkSrv Library
// DepndLst:
// (1) v2.0 stdole, (C:\Windows\system32\STDOLE2.TLB)
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
interface
uses Windows, ActiveX, Classes, Graphics, StdVCL, Variants;
// ********************
*************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:
// Type LibrarIEs : LIBID_xxxx
// CoClasses : CLASS_xxxx
// DISPInterfaces : DIID_xxxx