cmd und autostart

  • VB.NET

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von vb_noob.

    cmd und autostart

    hallo leute :)
    ich muss mich kurzfassen ich geh gleich grillen^^ :P

    also ich hab versucht ein programm automatisch in den autostart zu verschieben sodass es bei jedem start selber aufgeht ohne dass ich es am anfang zuerst in den autostart verschieben muss
    My.Computer.FileSystem.CopyFile("copy test.exe", "Autostart/copy test.exe")
    geht nich da erstellt es auf C: nen neuen ordner dafür... aber wenn ich den GENAUEN pfad angebe von autostart dann gehts, ich will aber dass es für jeden pc geht... weil dann hab ich ja zB. users/username... blabla das will ich nch
    auch mit C:/Autostart/copy test.exe gehts nich

    egal
    nun zum cmd problem
    ich starte cmd mit process.start("cmd.exe")
    und will dann dass es automatisch was eintippt
    hab ich mit write und writeline nich hinbekommen...
    wie geht das?? es öffnet sich ja... aber es schreibt nix in die cmd konsole

    bitte um hilfe

    bb danke
    Zum eintippen:

    Es kann nicht mit Write und WriteLine gehen; die Funktionen schreiben ja nur in deine eigene Konsolenanwendung.
    Wenn du ins Fenster von cmd.exe was reinschreiben willst:

    1. Muss CMD.exe den Focus haben
    2. Wenn cmd den Focus hat, kannst du einfach mit SendKeys reinschreiben

    EDIT:

    Zum Beispiel so:

    VB.NET-Quellcode

    1. Using proc As New Process
    2. proc.StartInfo.FileName = "cmd.exe"
    3. proc.Start()
    4. My.Computer.Keyboard.SendKeys("Beispieltext")
    5. End Using

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „freecoder“ ()

    danke :)

    also es hat funktioniert sehr nett!
    ich bin neu in vb und probier nur kleine sachen aus hab noch nie wirklich was von sendkeys gehört ^^

    naja danke
    aber
    es soll ja ein befehl in die cmd konsole eingegebn werden
    mit dem befehl den du mir gesagt hast steht dann das wort also in dem fall der "Beispieltext" dort und man muss ja selber noch enter drücken damit es wirkt
    und welchen befehl muss ich eingeben damit er auch noch enter für mich drückt?
    danke für die schnelle antwort


    cyaa
    euer vb noob xD
    heyy :)

    erstmal danke nochmal aber ich hab das mit dem befehl enter kurz nachdem ich die frage gesendet hab herrausgefunden... musste aber weg und konnte es nicht mehr schreiben
    übrigens der link ist cool danke

    gut nur noch eine frage
    wie kann ich die datei AUTOMATISCH nach autostart verschieben, OHNE den ganzen pfad einzugeben? damit es auch bei anderen funktioniert... weil der pfad gilt ja dann nur für mich

    danke

    cyaa
    euer vb noob :P

    hi, füge diesen code code beim click-ereignis deines button ein:

    VB.NET-Quellcode

    1. Dim regkey As RegistryKeyregkey = Registry.CurrentUser.OpenSubKey("software\microsoft\windows\CurrentVersion\run", True)
    2. regkey.SetValue("name des programms", "pfad des programms", RegistryValueKind.String)

    mit diesem code schreibt er in den autostart der registry des angemeldeten benutzers.

    mfg benni

    pchecker schrieb:


    hi, füge diesen code code beim click-ereignis deines button ein:

    VB.NET-Quellcode

    1. Dim regkey As RegistryKeyregkey = Registry.CurrentUser.OpenSubKey("software\microsoft\windows\CurrentVersion\run", True)
    2. regkey.SetValue("name des programms", "pfad des programms", RegistryValueKind.String)

    mit diesem code schreibt er in den autostart der registry des angemeldeten benutzers.

    mfg benni


    hey

    ja also danke für die antwort aber
    RegistryKeyregkey und RegistryValueKind werden blau unterwellt...
    und danke dass du meinen beitrag so gut gelesen hast... wenn ich den pfad eingebe funzt das prog. nur für mich weil bei anderen leuten is das prog dann anders...
    egal danke trotzdem

    cyaa
    euer vb noob
    ich meinte ja vor allem was drin steht. manche neulinge denken dass public class form1 würde den code beginnen. und dass alles was davor ist, nicht verarbeitet wird. was meinst du damit

    das mit dem pfad is für mich unbrauchbar
    ? wenn du den pfad in meinem code meinst: da musst du den pfad deines programms eintragen, damit autostart weiß, welches programm du meinst.
    nur die imports sind vor dem public class form1
    und das mit dem pfad mein ich so:
    wenn ich den pfad eingebe.. zB: C:/users/MeinUserName/blabla/bla/DieDatei.exe
    kann NUR ich das programm verwenden weil bei jedem is der pfad dann ja anders...
    wenn ich das programm nen freund gebe dann wird das programm sich nich in den autostart verschieben weil bei ihm zB es nich am desktop is wie bei mir...oder nich im selben ordner blabla
    ausserdem hab ich oben (IM ERSTEN BEITRAG :pinch: :cursing: ) eine möglichkeit mit der das ganze in EINER zeile geht aber ich brauch da eine andere möglichkeit...

    danke

    cyaa
    euer vb noob
    Schau dir mal

    VB.NET-Quellcode

    1. Environment.GetFolderPath



    Für die "text.txt" auf dem Desktop z.B:

    VB.NET-Quellcode

    1. (Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\Text.txt")
    "I think Microsoft has abused the Windows brand so much that it has lost its cachet."
    Paul Thurrott
    ne... so ungefähr?

    VB.NET-Quellcode

    1. My.Computer.FileSystem.CopyFile(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "Deinprogramm.exe", Environment.GetFolderPath(Environment.SpecialFolder.Startup) & "Deinprogramm.exe")



    Auch du solltest dir das Tutorial von Kevin89 anschauen: Hier
    "I think Microsoft has abused the Windows brand so much that it has lost its cachet."
    Paul Thurrott
    1. ja du hast recht!!
    wir sind in der schule grad mal bei array... ich bin 200mal weiter als die auch wenn ich am anfang steh :)
    danke ich werd mir das tutorial auf JEDEN fall ansehn!
    danke danke :)
    und ich probier das gleich aus!!

    sehhhr nett :)
    so ein letzter fehler xD

    also es kopiert es ja rein das 1. mal wenn man es startet
    aber wenn man das prog. ein 2. mal startet dann kommt ne fehler meldung dass es schon kopiert wurde und man kann weiter drücken damit es einfach ignoriert wird(is zwar ok aber das fenster nervt) oder die anwendung wird ganz beendet...


    cyaa
    euer vb noob
    Du kannst abfragen, ob die Datei existert, wenn ja machst du nichts, wenn nein, kopiertst die Datei in den Startup Ordner:


    VB.NET-Quellcode

    1. If My.Computer.FileSystem.FileExists(Environment.GetFolderPath(Environment.SpecialFolder.Startup) & "\Deinprogramm.exe") = True Then
    2. 'nichts
    3. Else
    4. My.Computer.FileSystem.CopyFile(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "Deinprogramm.exe", Environment.GetFolderPath(Environment.SpecialFolder.Startup) & "Deinprogramm.exe")
    5. End If
    "I think Microsoft has abused the Windows brand so much that it has lost its cachet."
    Paul Thurrott
    achja und

    My.Computer.FileSystem.CopyFile(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "Deinprogramm.exe", Environment.GetFolderPath(Environment.SpecialFolder.Startup) & "Deinprogramm.exe")

    gehört davor weg oder??
    weil wenns nich da is gehts eh zu else über und kopierts dann

    nagut danke ;D