Programm das ich aus meinem aufrufe wird nicht ausgeführt

Anfängerfragen zum Programmieren mit PureBasic.
Special-Agent-J
Beiträge: 51
Registriert: 05.10.2008 10:13

Programm das ich aus meinem aufrufe wird nicht ausgeführt

Beitrag von Special-Agent-J »

dank eurer hilfe hab ich jetzt zwar glaub ich den richtigen code um ein programm zu starten nämlich

Code: Alles auswählen

RunProgram("C:\shutdown.lnk","shutdown",2)
allerdings funktioniert der code nicht oder es tritt irgendein anderer Fehler auf. Wenn ich nämlich das programm normal starte(also doppelklick) fährt windows herunter, wenn ich aber das programm per code aufrufe kommt zwar für etwa 0,5s ein Fenster aber windows fährt nicht herunter.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

Procedure ShutDown()
  Protected Privileges.TOKEN_PRIVILEGES
  Protected hToken.l
  OpenProcessToken_(GetCurrentProcess_(), 40, @hToken)
  Privileges\PrivilegeCount           = 1
  Privileges\Privileges[0]\Attributes = #SE_PRIVILEGE_ENABLED
  LookupPrivilegeValue_(0, "SeShutdownPrivilege", @Privileges\Privileges[0]\Luid)
  AdjustTokenPrivileges_(hToken, 0, @Privileges, 0, 0, 0)
  CloseHandle_(hToken)
  ExitWindowsEx_(#EWX_POWEROFF | #EWX_FORCE, 0)
EndProcedure
Jetzt genügt ein:

Code: Alles auswählen

ShutDown()
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Special-Agent-J
Beiträge: 51
Registriert: 05.10.2008 10:13

Beitrag von Special-Agent-J »

ts-soft hat geschrieben:

Code: Alles auswählen

Procedure ShutDown()
  Protected Privileges.TOKEN_PRIVILEGES
  Protected hToken.l
  OpenProcessToken_(GetCurrentProcess_(), 40, @hToken)
  Privileges\PrivilegeCount           = 1
  Privileges\Privileges[0]\Attributes = #SE_PRIVILEGE_ENABLED
  LookupPrivilegeValue_(0, "SeShutdownPrivilege", @Privileges\Privileges[0]\Luid)
  AdjustTokenPrivileges_(hToken, 0, @Privileges, 0, 0, 0)
  CloseHandle_(hToken)
  ExitWindowsEx_(#EWX_POWEROFF | #EWX_FORCE, 0)
EndProcedure
Jetzt genügt ein:

Code: Alles auswählen

ShutDown()
hmm da ich die alte version hab muss ich leider den langen nehmen allerdings kommt bei
Privileges\Privileges[0]\Attributes = #SE_PRIVILEGE_ENABLED
die Meldung: Garbage to the end of the line.
Zuletzt geändert von Special-Agent-J am 06.10.2008 19:21, insgesamt 1-mal geändert.
Achtung ich hab leider nur die demo von 4.3 und von der kaufversion leider nur 3.3
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Beitrag von X360 Andy »

lad dir doch einfach die DEMO von PB 4.20 ?

Edit , geht der Code dann überhaupt mit de Demo ? (nicht oder ? )
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Special-Agent-J hat geschrieben:da ich die alte version hab [...]
dann tu uns doch mal allen den Gefallen und schreib Deine Versionsnummer
in Deine Signatur. Danke!

@X360 Andy: API-Aufrufe sind in der Demo-Version nicht so ohne weiteres
möglich.

Grüße ... Kiffi
a²+b²=mc²
Special-Agent-J
Beiträge: 51
Registriert: 05.10.2008 10:13

Beitrag von Special-Agent-J »

X360 Andy hat geschrieben:lad dir doch einfach die DEMO von PB 4.20 ?
das hab ich gemacht allerdings kommt da bei shutdown() auch die meldung das es keine gültige funktion ist
Achtung ich hab leider nur die demo von 4.3 und von der kaufversion leider nur 3.3
Special-Agent-J
Beiträge: 51
Registriert: 05.10.2008 10:13

hey wär nett mir noch mal zu helfen

Beitrag von Special-Agent-J »

hey wie gesagt der code funzt nicht bei 4.2 und 3.3 wär echt nett mir zu helfen
Achtung ich hab leider nur die demo von 4.3 und von der kaufversion leider nur 3.3
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

hey wie gesagt hier hat kaum noch jemand 3.30 und weiß, wie man sowas zurechtdaddeln könnte.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

achja und hey da sind noch andere antworten in deinem anderen thread die du anscheinend noch keines blickes gewürdigt hast also erstmal anständig lesen und rückfragen oder wenigstens danke sagen bevor du hier leute anheyst und gewöhn dir mal ne anständige interpunktion an denn wie du hier siehst ist das echt scheiße und schlecht zu lesen gelle?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten