Autor Beitrag
dac424
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Fr 07.07.06 22:28 
Bitte mal um Hilfe es Funktioniert einfach nicht
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
unit Unit1;

interface
 {$APPTYPE CONSOLE}
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, sndkey32;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  HWND: DWORD;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);


begin
  WriteLn('Oeffnen Sie das Programm "TeamSpeak 2"!');
  Repeat
       HWND := FindWindow(Nil'TeamSpeak 2'); // Handle der "TeamSpeak2.exe" ermitteln
   Until HWND <> 0;
   WriteLn('FensterHandle gefunden.');


    SendMessage(HWND, $01000xA2, 0); // Die Message WM_KEYDOWN($0100) an das Handle senden mit dem Wert von VK_CONTROL(17)
    WriteLn('STRG ist gedrück.');


    Sleep(50000);


    SendMessage(HWND, $01010xA2, 0); // Die Message WM_KEYUP($0101) an das Handle senden mit dem Wert von VK_CONTROL(17)
    WriteLn('STRG losgelassen.');


    Sleep(1000);
end;

end.


bekomme immer wieder nicht genügend wirkliche Parameter.
bei 0xa2 was normaler weise Lcontrol wäre

aber egal auch wenn ich 70 nehme was oder eine andere Taste es wird im Teamspeak nicht Gedrückt den dann müste die Grüne lampe an gehen und das tut es nicht.

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt
matze.de
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 576

Win95, Win98 SE, WinXp Prof SP2
D7P, D8P, FPC2.0
BeitragVerfasst: Sa 08.07.06 11:34 
Wie im Kommentar schon steht ist VK_CONTROL = 17 oder so wie du es willst 0xA2 in Delphi $A2. Aber ich glaube es geht so einfach nicht, da das STRG bei Teamspeak ein GlobalHotkey ist, also Systemweit. Du könntest versuchen eine WM_HOTKEY Message an das Program zu senden.

mfg matze

_________________
si tacuisses, philosophus mansisses.
dac424 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Sa 08.07.06 16:39 
Titel: das funktioniert nu habe es Hinbekommen
so das Habe ich jetzt Hin bekommen mit folgendem Code

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShellAPI, SNDKEY32, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Teamspeak : HWND;

begin

 Teamspeak := FindWindow(nil, 'TeamSpeak 2');
  AppActivate('TeamSpeak 2');

 KeyBd_Event(VK_LCONTROL, MapVirtualKeyA(VK_LCONTROL, 0), 0, 0) ;
  Sleep(5000);
    KeyBd_Event(VK_LCONTROL, MapVirtualKeyA(VK_LCONTROL, 0), KEYEVENTF_KEYUP, 0) ;
 Sleep(1000);

end;
end.


jetzt muss ich nur noch versuchen das mit dem VU Meter zu kombinieren
damit diese Funktion ausgeführt wird .
es Darf aber nur ausgeführt werden wenn reine Sprache und Kein Rauschen Gemessen Wird

Hänge mal als Beispiel die Vu Meter Klamotte an vieleicht kann das einer Modifiezieren.

Taste Gedrück bei reiner Sprache
Taste los wen Rauschen oder sogar zu leise.
Einloggen, um Attachments anzusehen!