Deutsch
Quelltexte/ Codesnippets

Api Befehl Notepad Per Run Sendstring

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Run-Befehl per API und mit SendString an NotePad
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)

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(NOTEPAD.EXE)

IF NOTEPAD&

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

ENDIF

 
16.07.2007  
 




p.specht

Revitalisiert 2019-01:
'Run-Befehl per API und Strings mit SendString an NotePad
CLS'<<< CLS Kann bei erwiesenem Funktionieren weggelassen werden.
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")

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("Unbenannt - Editor")'<< Leeres Notepad in Win7, ev. anpassen!

            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("NOTEPAD.EXE")

IF NOTEPAD&

    SENDSTRING(NOTEPAD&, ".LOG")
    SENDSTRING(NOTEPAD&, "\r XProfan ist einfach Spitze!")
    SENDSTRING(NOTEPAD&, "\r Aber das Wissen ja ohnehin alle!")
    SENDSTRING(NOTEPAD&, "\n Gruß, Thomas - 2007,  P.Specht - 2019)")

ENDIF

END
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
03.01.2019  
 




Manfred
Barei
Funktioniert so auch unter Win10
 
XProfan X2
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
03.01.2019  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.612 Betrachtungen

Unbenanntvor 0 min.
Sven Bader23.05.2023
RudiB.25.04.2022
funkheld01.01.2022
Torsten Boo02.09.2021
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

Manfred Barei (1x)
p.specht (1x)
unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie