vypnutie PC s delphi

Programovacie jazyky, rady, poradňa...
feromakovi
Expert
Expert
Príspevky: 165
Registrovaný: 24 okt 2008, 14:16
Bydlisko: Bánovce nad Bebravou

vypnutie PC s delphi

Príspevok od používateľa feromakovi »

Zdravím,
prosím Vás potreboval by som vedieť ako môžem vypnúť svoj PC v delphi napríklad procedúrou button1.click.....to je jedno hocičím len nechcem aby sa my tam objavilo dosovské okno=> nemalo by to byť cez príkazový riadok a príkaz "shutdown -s -f -t 00"
proste uvítal by som nejaké riešenie ako napr. vo windowse keď dám vypnúť PC cez ponuku štart.

alebo nejaké riešenie ako sa napr. v NERO-vi používa, že po ukončení práce automaticky vypnúť PC ak keď pri ňom nikto nieje....a tam sa tiež neobjaví dosovské okno...

uf dúfam, že som svoj problém popísal dostatočne...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

skús takto

Kód: Vybrať všetko

uses ComObj;


procedure TForm1.Button1Click(Sender: TObject);
var
  shell: Variant;
begin
  shell := CreateOleObject('Shell.Application');
  shell.ShutdownWindows;
end;
feromakovi
Expert
Expert
Príspevky: 165
Registrovaný: 24 okt 2008, 14:16
Bydlisko: Bánovce nad Bebravou

otázka

Príspevok od používateľa feromakovi »

audiotrack pls dalo by sa ti keby si mi to aj trochu popísal??
lebo ako na to pozerám tak na to pozerám, nerozumiem tomu kódu.
A z helpu som sa toho moc nedočítal.... len by mi stačilo, že čo tam znamenajú tie príkazi a nejaké vysvetlivky, že prečo je to práve tak.
Ak by si bol teba ochotný...
Ďakujem ti inak veľmi pekne.. 8)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

skôr si naštuduj čo je COM a OLE a malo by ti to začať dávať zmysel. V podstate ide o to, že som do delphi vložil shell operačného sytému. Teda som mohol využiť rovnaké rutiny ako sa využívajú pri práci v samotnom windowse (v našom prípade vypnutie systému). Premenná shell je dátového typu variant. Možno na to existuje nejaký vhodnejší DT, no komu sa chce hľadať keď to nerobím pre seba :)
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

http://msdn.microsoft.com/en-us/library ... S.85).aspx (je tam aj nejaký príklad, proces musí mať samozrejme právo vypnúť Windows, inak to fungovať nebude)
feromakovi
Expert
Expert
Príspevky: 165
Registrovaný: 24 okt 2008, 14:16
Bydlisko: Bánovce nad Bebravou

otázka

Príspevok od používateľa feromakovi »

to audiotrack: no vieš není to presne čo by som potreboval...keď akože kliknem na button tak zobrazí sa mi len tabuľka, ktorá sa zobrazuje keď dám START->VYPNUT a vlastne po kliknutí na button sa ma len opýta čo chcem spraviť...ja by som potreboval niečo aby to spravilo automaticky..

skúšal som aj príkazy z odkazu čo poslal chrono, napr: namiesto

Kód: Vybrať všetko

ShutdownWindows->RebootWindows
to som chcel aby sa automaticky reštartol. spravilo mi z toho aj exe súbor ale keď som v ňom klikol na button tak mi vypísalo chybu, že taký príkaz není podporovaný..

to chrono: pozeral som to tam ale keď ja poznám pascal a čím sa teraz delphi a ani jedna možnosť z týchto programovacích jazykov tam nieje...


Ak by niekto vedel poradiť tak by som aj poprosil nejakú modifikáciu ako by vyzerala taká procedúra na restart..

Ďakujem...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Čo presne z toho, čo som poslal ja si skúšal? Skúšal si napr. ExitWindowsEx(EWX_REBOOT, 0);?
feromakovi
Expert
Expert
Príspevky: 165
Registrovaný: 24 okt 2008, 14:16
Bydlisko: Bánovce nad Bebravou

odpoveď

Príspevok od používateľa feromakovi »

no ja som to normálne pochopil takto ako napísal auditrack:

Kód: Vybrať všetko

procedure TForm1.Button1Click(Sender: TObject); 
var 
  shell: Variant; 
begin 
  shell := CreateOleObject('Shell.Application'); 
  shell.RebootWindows; 
end;
ale compiler mi to zobral:D

a skúšal som teraz aj to čo si napísal posledné a použil som to takto:

Kód: Vybrať všetko

procedure TForm1.Button1Click(Sender: TObject);
begin
ExitWindowsEx(EWX_REBOOT, 0);
end;
robím v tom chybu?? Ja tomuto akosi nerozumiem..
ⓢⓐⓟⓛⓔⓡ
Star
Star
Používateľov profilový obrázok
Príspevky: 621
Registrovaný: 06 jún 2008, 15:07
Bydlisko: nedaleko od hojko.com

Príspevok od používateľa ⓢⓐⓟⓛⓔⓡ »

feromakovi
Expert
Expert
Príspevky: 165
Registrovaný: 24 okt 2008, 14:16
Bydlisko: Bánovce nad Bebravou

Príspevok od používateľa feromakovi »

ďakujem pekne pomohlo. Je to presne to čo som poteboval....
GameBlaer
Novice
Novice
Príspevky: 1
Registrovaný: 31 aug 2008, 12:11

Re: vypnutie PC s delphi

Príspevok od používateľa GameBlaer »

Caute no mne to moc nepomohlo ked mam napr otvorene volake spojenie tak mi ho nezrusi a caka kym to odkliknem ja manualne potrebujem nejaky tvrdsie vypnutie ktore nebude zaujimat ci mam nieco ulozene alebo ci mam nejake spojenie z niecim dakujem za odpoved
pipiak
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 321
Registrovaný: 11 jún 2006, 9:24
Bydlisko: KE
Kontaktovať používateľa:

Re: vypnutie PC s delphi

Príspevok od používateľa pipiak »

existuju winapi funkcie, kde mas moznost dat force shutdown
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: vypnutie PC s delphi

Príspevok od používateľa audiotrack »

GameBlaer napísal:Caute no mne to moc nepomohlo ked mam napr otvorene volake spojenie tak mi ho nezrusi a caka kym to odkliknem ja manualne potrebujem nejaky tvrdsie vypnutie ktore nebude zaujimat ci mam nieco ulozene alebo ci mam nejake spojenie z niecim dakujem za odpoved
chrono napísal:Čo presne z toho, čo som poslal ja si skúšal? Skúšal si napr. ExitWindowsEx(EWX_REBOOT, 0);?
len mierne upravíš parameter takto:

Kód: Vybrať všetko

ExitWindowsEx(EWX_SHUTDOWN + EWX_FORCE,0);
lopokop
Novice
Novice
Príspevky: 1
Registrovaný: 26 sep 2011, 19:38

Re: vypnutie PC s delphi

Príspevok od používateľa lopokop »

chuus neviete kde sa dá stiahnuť delphi ktoré by mi islo?
Zappir
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 498
Registrovaný: 17 aug 2008, 9:38
Bydlisko: Praha / Prievidza

Re: vypnutie PC s delphi

Príspevok od používateľa Zappir »

chuuuuuuuus, na internete napriklad

:smt006

http://www.google.sk/search?q=dolphi+do ... =firefox-a
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: vypnutie PC s delphi

Príspevok od používateľa audiotrack »

lopokop napísal:chuus neviete kde sa dá stiahnuť delphi ktoré by mi islo?
nevieme ktoré by ti išlo, keď ani len netušíme či máš windows alebo linux prípadne mac...
Napísať odpoveď