Español
Fuente/ Codesnippets

Erhalten Hwnd Programa Runex Starten Xprofan

 
- Página 1 -


No mehr erforderlich, siehe iFs Posting, hay befindet se el Source en XPSE kompatibler Versión sin Autores-Referencia oder ähnlichem. Weiterentwicklung eingestellt.

[hr:aa5e7cfcab]
Apéndice de me - IF. Thomas war así freundlich - después de corto Aussprache zwischen me y Ihm - seinen Code me nochmals disponible a stellen. Und como el Code ursprünglich hier stand Puse ihn auch hier otra vez hinein:
KompilierenMarcaSeparación
Ersatz für Run
Wird es als Funktion aufgerufen, erhält man das hWnd des Fensters zurück
Fehlerrückgaben:
-1 = Programm wurde nicht gefunden oder falsche Parameterzahl
0 = Timeout erreicht, das ermitteln des Fenster hat mehr als 5 Sek. gedauert
und wurde abgebrochen
Autor: Thomas Schulz aka ts-soft
erstellt: 23.10.2006
Version: 1.0 für XProfan 10
 $H windows.ph
 $H structs.ph

Proc ?_RunEx

    Case %PCount <> 1 : Return -1
    Parameters cmdline$
    Declare Ret&, SI#, PI#, WinHandle&, pid&, win&, timeout&
    Struct STARTUPINFO = ~STARTUPINFO
    Struct PROCESS_INFORMATION = ~PROCESS_INFORMATION
    Dim SI#, STARTUPINFO
    Dim PI#, PROCESS_INFORMATION
    timeout& = ~GetTickCount() + 5000
    WinHandle& = -1
    Ret& = ~CreateProcessA(0, Addr(cmdline$), 0, 0, 0, 0, 0, 0, SI#, PI#)

    If Ret&

        Repeat

            win& = FindWindow("")

            While win&

                ~GetWindowThreadProcessId(win&, Addr(pid&))

                If pid& = PI#.dwProcessId&

                    WinHandle& = win&
                    Break

                EndIf

                If  ~GetTickCount() > timeout&

                    WinHandle& = 0
                    Break

                EndIf

                win& = ~GetWindow(win&, ~GW_HWNDNEXT)

            EndWhile

        Until WinHandle& > -1

    EndIf

    Dispose SI#
    Dispose PI#
    Return WinHandle&

../../references-fonction/XProfan/ENDPROC/'>ENDPROC

 
23.10.2006  
 



 
- Página 1 -


@IF
Der Sinn, por qué Usted el Source wiederholst, wobei entonces qué fehlt, entgeht me hier. Der Code-Snippet debería auch sin XPSE laufen
El Änderung en el Ejemplo en Hardcoded Dateipfad es doch probablemente no Su Ernst? Lo debería möglichst cada laufen, o. si, entonces ermittelt uno el Pfad!
 
23.10.2006  
 



Was ha Usted porque gestochen?

Was fehlt Usted porque y por qué debería una CodeSnippet qué con benötigt XPSE bezeichnet es auch sin XPSE laufen especialmente Usted sí ya el no-XPSE Schnipsel Nuevo hast?

El Änderung en el Ejemplo en Hardcoded es sehrwohl mein Ernst - me es unklar por qué en Beispielcodes nichts hardcoded ser darf! Ist el una Unit? Un DLL?

Und el Anrecht en él algo - por qué De todos modos - a wiederholen, Yo me así geschaffen el dies hier mi Comunidad es - qué natürlich no heissen se el Yo no wünsche mich darauf aufmerksam a hacer si yo algo falso wiederhole.
 
23.10.2006  
 



[quote:8cef19ce1c=TS-Soft]No mehr erforderlich, siehe iFs Posting, hay befindet se el Source en XPSE kompatibler Versión sin Autores-Referencia oder ähnlichem. Weiterentwicklung eingestellt.[/quote:8cef19ce1c]
Ach Gott como brennt el Schuh! Der Autorenhinweis war doch klar y deutlich en DEINEM Posting a lesen! Nur porque Usted Su Posting ahora lejos hast es doch alles para el Katz! Mein Posting kahm después de Deinem Posting y war como Ergänzung a sehen - no como Ersatz!

Yo finde Usted hast überreagiert Thomas.

[hr:8cef19ce1c]
Leider ha Thomas ser Posting lejos - con el Originalcode (en el no-Xpse-Formato), also hier otra vez una vom XPSE umgewandelte Versión en el no-Xpse-Formato el natürlich niiiieeeemals así schön es como Thomas seine Variante el auch una Vermerk en el Author (Thomas Schulz) enthielt.
KompilierenMarcaSeparación
DECLARE __cf1&,__cf2&,__cf3&,__cf4&
STRUCT STARTUPINFO=CB&,LPRESERVED#(4),LPDESKTOP#(4),LPTITLE#(4),DWX&,DWY&,DWXSIZE&,DWYSIZE&,DWXCOUNTCHARS&,DWYCOUNTCHARS&,DWFILLATTRIBUTE&,DWFLAGS&,WSHOWWINDOW%,CBRESERVED2%,LPRESERVED2&,HSTDINPUT&,HSTDOUTPUT&,HSTDERROR&
STRUCT PROCESS_INFORMATION=HPROCESS&,HTHREAD&,DWPROCESSID&,DWTHREADID&
Def __cf1(2) !"KERNEL32","GetProcAddress"
Def __cf2(1) !"KERNEL32","GetModuleHandleA"
__cf1&=__cf1(__cf2("kernel32.dll"),"GetTickCount")
__cf2&=__cf1(__cf2("kernel32.dll"),"CreateProcessA")
__cf3&=__cf1(__cf2("user32.dll"),"GetWindowThreadProcessId")
__cf4&=__cf1(__cf2("user32.dll"),"GetWindow")
 $DEFINE XPSE

proc RUNEX

    PARAMETERS CMDLINE$
    DECLARE SI#, PI#, PID&, WIN&
    DIM SI#, STARTUPINFO
    DIM PI#, PROCESS_INFORMATION
    VAR TIMEOUT&=call(__cf1&)+5000
    VAR WINHANDLE&=-1

    IF call(__cf2&,0,ADDR(CMDLINE$),0,0,0,0,0,0,SI#,PI#)

        REPEAT

            WIN&=FINDWINDOW("")

            WHILE ((WIN&) AND (WINHANDLE&=-1))

                call(__cf3&,WIN&,ADDR(PID&))

                IF PID&=PI#.DWPROCESSID&

                    WINHANDLE&=WIN&

                ENDIF

                IF call(__cf1&) > TIMEOUT&

                    WINHANDLE&=0

                ENDIF

                WIN&=call(__cf4&,WIN&, 2)

            ENDWHILE

        UNTIL WINHANDLE&>-1

    ENDIF

    DISPOSE SI#
    DISPOSE PI#
    RETURN WINHANDLE&

endproc

VAR NOTEPAD&=RUNEX("c:\windows\notepad.exe")

IF NOTEPAD&

    SENDSTRING(NOTEPAD&, "XProfan 10 ist einfach Spitze!")
    SENDSTRING(NOTEPAD&, "Aber das Wissen ja alle")
    SENDSTRING(NOTEPAD&, "Gruß, Thomas")

ref='./../../references-fonction/XProfan/endif/'>ENDIF

 
23.10.2006  
 




GDL
Bitte nich a mi Geburtstag streiten.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
23.10.2006  
 



[quote:f0cb3b491f=GDL]Bitte nich a mi Geburtstag streiten.

Servus
Georg[/quote:f0cb3b491f]
Usted zauberst me siempre otra vez una Lächeln Georg.
 
23.10.2006  
 




GDL
Bin heute seit langem veces otra vez bien en él y yo wünsche me, el tal vez todos heute veces bien en él son.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
23.10.2006  
 



Hey el bekommen wir sicher hin - @todos: stiiiiimts????
 
23.10.2006  
 



Yo glaub wir (Thomas y yo) konnten el Indifferenz en un ausführlichen Skypegespräch beilegen. Drum siehe erstes Posting.
 
23.10.2006  
 




Torsten
Rümker
Yo bin ahora al probieren y probieren, y zwar Yo intenta el Procedure todavía mitzugeben en welchem Modus el Programa starten se. (also minimiert oder maximiert oder qué De todos modos)

Folgendes Yo also eingefügt o verändert:
vorher:
KompilierenMarcaSeparación
Case %PCount <> 1 : Return -1
Parameters cmdline$
Declare Ret&, SI#, PI#, WinHandle&, pid&, win&, timeout&
Struct STARTUPINFO = ~STARTUPINFO
Struct PROCESS_INFORMATION = ~PROCESS_INFORMATION
Dim SI#, STARTUPINFO
Dim PI#, PROCESS_INFORMATI

Nachher:
KompilierenMarcaSeparación
Case %PCount <> 2 : Volver -1
Parámetros cmdline$, modus%
Declarar Ret&, SI#, PI#, WinHandle&, pid&, win&, timeout&
Struct STARTUPINFO = ~STARTUPINFO
Struct PROCESS_INFORMATION = ~PROCESS_INFORMATION
Dim SI#, STARTUPINFO
Dim PI#, PROCESS_INFORMATION
LET SI#.wShowWindow%=modus%

Posesiones intenta CreateProcessA  a befolgen, aber irgendwie kommt como en me nix en fuera, se heißen el Programa se siempre en el Normalmodus comenzó egal Yo mache.

A

MfG
Torsten Rümker
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
02.11.2006  
 



Si usted ya el handle hast, por qué benutzte no simplemente ShowWindow(N1,N2) ?
 
02.11.2006  
 



 
- Página 2 -



Torsten
Rümker
Weil uno manchmal el Wald antes lauter Bäumen no sieht. Gracias dir.

MfG
Torsten Rümker
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
02.11.2006  
 



Ansonsten müßtest Usted wahrscheinlich el ersten Parámetro de CreateProcess, el 0 para Dateinamen hacer, sowie todavía weitere Los cambios. Wäre wahrscheinlich una komplettes neuschreiben
 
03.11.2006  
 




Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

12.765 Views

Untitledvor 0 min.
Torben Nissen02.05.2020

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie