Tips&Tricks | I trucchi del mestiere |
![]() |
Controllare i processi di un PC remoto |
Procedure TForm1.Button1Click(Sender: TObject); Const QUERY = 'Select * From Win32_Process'; COMPUTER = 'SERVER-AT12K'; Var Services : SWbemServices; ObjectSet : ISWbemObjectSet; Enum : IEnumVariant; tempObj : OleVariant; SObject : ISWbemObject; Value : Cardinal; Begin Services := Locator.ConnectServer(COMPUTER, 'root\cimv2', '', '', '', '', 0, nil); ObjectSet := Services.ExecQuery(QUERY, 'WQL', wbemFlagReturnImmediately, nil); Enum := (ObjectSet._NewEnum) As IEnumVariant; While (Enum.Next(1, TempObj, Value) = S_OK) Do Begin SObject := IUnknown(TempObj) As SWBemObject; Memo1.Lines.Add(SObject.GetObjectText_(0)) End; End; |
![]() |
Come personalizzare i componenti Delphi senza scriverne di nuovi |
type TMyEdit = TEdit; TEdit = class(TMyEdit) private function lfFloat : real; procedure lpFloat(lrValue : real); public property AsFloat : real read lfFloat write lpFloat; end; TForm1 = class(TForm) btnSqrt: TButton; edtValue: TEdit; procedure btnSqrtClick(Sender: TObject); end; var Form1: TForm1; implementation function TEdit.lfFloat : real; begin try Result := StrToFloat(Text); except Result := 0; end; end; procedure TEdit.lpFloat(lrValue : real); begin Text := FloatToStr(lrValue); end; {$R *.dfm} procedure TForm1.btnSqrtClick(Sender: TObject); begin edtValue.AsFloat := Sqrt(edtValue.AsFloat); end; |
![]() |
Limitare il movimento del mouse |
procedure Limita_Mouse(Sx,Alto,Dx,Basso:Integer); /* Questi valori rappresentano i punti in alto a sinistra e in basso a destra del rettangolo entro cui si va a confinare il mouse */ var Area: TRect; begin Area.Left:=Sx; Area.Top:=Alto; Area.Right:= Dx; Area.Bottom:= Basso; ClipCursor(@Area); end; |
ClipCursor(nil); |