Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  SendKeys an Befehlszeilenanwendung übertragen!?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  SendKeys an Befehlszeilenanwendung übertragen!? (1808 mal gelesen)
Einstein
Mitglied
Zerspanungsmechaniker-Drehtechnik


Sehen Sie sich das Profil von Einstein an!   Senden Sie eine Private Message an Einstein  Schreiben Sie einen Gästebucheintrag für Einstein

Beiträge: 94
Registriert: 20.02.2005

erstellt am: 31. Aug. 2007 00:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Forum, heute hab ich mal eine Frage, die nicht dirkt mit AutoCAD-VBA zusammen hängt.

...Und zwar versuche ich mit der SendKeys Methode, Tastenfolgen an eine Befehlszeilenanwendung (cmd.exe) zu übergeben. Das funktioniert aber nicht, warum!? ...Obwohl die Routine für andere Anwendungen, zum Beispiel den Rechner, dem Editor, usw. funktioniert.

Der Code:
x = Shell("cmd.exe", 1)
AppActivate x, 1
SendKeys "TestString", True

(Bei einer Befehlszeilenanwendung erzeugt auch AppActivate einen Fehler)

------------------
MfG  A. Einstein    

P.S. Rechtschreibefehler sind gewollt und dienen der allgemeinen Belustigung!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

c.schojer
Mitglied



Sehen Sie sich das Profil von c.schojer an!   Senden Sie eine Private Message an c.schojer  Schreiben Sie einen Gästebucheintrag für c.schojer

Beiträge: 299
Registriert: 23.05.2007

Autocad 2018

erstellt am: 03. Sep. 2007 20:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Einstein 10 Unities + Antwort hilfreich

ALso ich muß sagen Sendkeys funktioniert nicht immer!
( wennst mit der Maus rumklickst kann es passieren das die Sendkeys in ein anderes programm reinschreibst!
aber so sollte es zumindest gehen!

--> Sendkeys vermeiden!! eher eine Bat datei schreiben oder erzeugen und diese starten

MFG Chris


Private Declare Sub PauseProg _
    Lib "kernel32" _
    Alias "Sleep" ( _
        ByVal ZeitMilli As Long)

'Argumente:
'ZeitMilli: Zeitwert in Millisekunden

Sub test()
    Dim P_ID As Double
    Dim n As Integer
    P_ID = Shell("cmd.exe", vbNormalFocus)
    'cmd.exe benötigt etwas zeit zum starten
    'daher eine Pause einlegen
    ' nicht zu lange sonst landen die keys in einem anderen Programm
    'nicht zu kurz sonst ist der string nicht komplett
    Call PauseProg(10)
    AppActivate P_ID
    Call PauseProg(1000)
    SendKeys "dir", True
    SendKeys "{ENTER}", True
End Sub

[Diese Nachricht wurde von c.schojer am 03. Sep. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Frank88
Mitglied



Sehen Sie sich das Profil von Frank88 an!   Senden Sie eine Private Message an Frank88  Schreiben Sie einen Gästebucheintrag für Frank88

Beiträge: 153
Registriert: 11.10.2004

erstellt am: 04. Sep. 2007 12:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Einstein 10 Unities + Antwort hilfreich

Hallo,

SendKeys funktioniert im Prinzip nur mit Windowsanwendungen. DOS-Boxen gehören da nicht dazu.
Das beschriebene Problem mit dem Rumklicken und daß dann andere Anwendungen die Tastenanschläge erhalten, kann man vermeiden, in dem man unmittelbar vor dem SendKeys die Anweisung AppActivate verwendet.

Gruß, Frank

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz