| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Maximieren eines geöffneten Programms (2080 mal gelesen)
|
Ex-Mitglied
|
erstellt am: 24. Sep. 2004 11:09 <-- editieren / zitieren -->
HAllo Leute, ich habe ein Problem mit dem Erkennen eines geöffneten Programms. Ich möchte beim Starten eines Programms (VB6.0 kompiliert, also nicht VBA) ermitteln ob dieser Prozess läuft (das habe ich mit dem App-Objekt geschafft) und danach möchte ich das Programm aus der Taskleiste maximieren oder in Front stellen. Wäre dankbar für Tipps. Jürgen |
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 24. Sep. 2004 11:36 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 24. Sep. 2004 12:42 <-- editieren / zitieren -->
Danke für die Antwort. Einiges sieht gut aus. Was ich nicht so richtig verstehe ist: 1. Wenn ich ein Programm starte, habe ich das eine APP-Objekt 2. Wenn ich das Programm nun ein zweites Mal starte, dann habe ich doch ein anderes APP-Objekt oder? Wenn das so wäre, dann kann ich nicht mit App.visible arbeiten. Jürgen |
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 24. Sep. 2004 12:55 <-- editieren / zitieren --> Unities abgeben:
Hallo Jürgen, Code: Dim ExcelApp as Excel.Application Set ExcelApp = New Excel.ApplicationExcelApp.Visible = true
Das ist für ein Excel-Object. Das Object solltest Du nach dem beenden deines Programmes auch terminieren ... ich mach das so .. Code: ExcelApp.Quit Set ExcelApp = Nothing
.. somit sollte das Excel-Object auch wieder aus deiner Prozessliste verschwunden sein. Oder hab ich da jetzt was falsch verstanden? Gruß TP ------------------
Code: For Each Person In This.Forum TP.Say "have a nice day!" Next Person
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 25. Sep. 2004 10:02 <-- editieren / zitieren -->
Hallo TP, ich glaube schon das Du was falsch verstanden hast. Wie eine Instanz eines WORD bzw. EXCEL's zerstört wird ist mir bekannt. Das ist auch nicht mein Problem. OK: Ich habe mich vielleicht falsch ausgedrückt. stell Dir vor Du schreibst ein Programm mit VB (nicht VBA), kompilierst es und rufst es ganz normal über Start-Programme und so auf. Also nicht im AutoCAD oder ähnlich, sondern ein eigenständiges Programm. Du machst auch keine Instanz auf irgend ein anderes Programm wie Word z.B. Und nun gehst Du hin minimierst dieses Programm. Da Du es vergessen hast, dass Du es minimiert hast, rufst Du es wieder mit Start-Programme und so auf. Jetzt kommt mein Problem: 1. Wie erkenne ich beim zweiten Aufruf des Programms, dass es schon läuft? 2. Wie maximiere ich das vorher minimierte Programm? 3. Wie kann ich Daten dem Programm übergeben? Danke für Eure Bemühungen. Jürgen
|
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 25. Sep. 2004 19:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Jürgen, zu 1 tens ... Benutze bitte diesen Link http://ww3.cad.de/foren/ubb/Forum259/HTML/000319.shtml .. und dann erweiterst Du einfach diesen Teil
Code: If Left$(aa, InStr(aa, Chr$(0)) - 1) = "acad.exe" Then MsgBox "AutoCAD läuft" End If
um eine Funktion oder Schleife oder was auch immer, was Dir halt zählt, wie oft das Programm läuft. '1' bekommst Du mindestens zurück, da dein Programm schon läuft, wenn er die Prozesse überprüft. zu 2 tens In meinem Falle war das Object Excel, bei Dir ist es halt dein Formular.
Code: Form1.WindowState = vbMaximized
und zu 3 tens wo kommen die Daten her und wo in deinem Programm sollen Sie verfügbar sein? Gruß TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 27. Sep. 2004 11:42 <-- editieren / zitieren --> Unities abgeben:
|
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 27. Sep. 2004 11:47 <-- editieren / zitieren --> Unities abgeben:
|