PDA

View Full Version : سوال: خاموش شدن 100در100 کامپیوتر با کد



baran_mehr
یک شنبه 12 آبان 1387, 20:53 عصر
میشه یه دستوری بگید که وقتی اجراش کردیم کامپیوتر به صورت 100 در 100 خاموش بشه.
تو همین سایت درتوراتی هست اما در صورتی که برنامه ای درحال کار باشه کامپیوتر رو خاموش نمیکنه.
اگه میشه راهنمایی کنید

rooshan2008
یک شنبه 12 آبان 1387, 23:08 عصر
سلام
ببین


shell("shutDown -r -t 10")


برای خنثی کردن:
shell("shutDown -a ")
منظور از اون عدد 10 هم بعد از 10 ثانیه خاموش می کنه می تونید بزارید 1


این دستور هم خاموش می کنه البته بعد از ذخیره کردن:
C:\WINDOWS\SYSTEM32\TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN

ali_md110
دوشنبه 13 آبان 1387, 00:36 صبح
Dim t As Single
Dim objWMIService, objComputer As Object
objWMIService = GetObject("Winmgmts:{impersonationLevel=impersonate,(Debug,Sh utdown)}")
For Each objComputer In objWMIService.InstancesOf("Win32_OperatingSystem")
t = objComputer.Win32Shutdown(8 + 4, 0)
If t <> 0 Then
MsgBox("Error!!!")
Else
'LogOff your system
End If
Next

baran_mehr
دوشنبه 13 آبان 1387, 12:06 عصر
rooshan2008 جان این کد رو امتحان کردم اما این کد درصورتی که برنامه ای باز باشه کار نمیکنه.
مثلا اگر شما یک پرژه دات نت را باز کنید و بعد از این کد استفاده کنید .دستگاه برای خاموش شدن صبر میکنه تا شما برنامه ها رو ببندید و در نهایت اگر نخواهید این دستور نادیده گرفته میشه و دستگاه خاموش نمیشود.
من یه کدی میخوام که اگر اجرا شد کاری به برنامه ها نداشته باشه که باز هستن یا نه و صد در صد خاموش کنه.

baran_mehr
دوشنبه 13 آبان 1387, 13:00 عصر
Dim t As Single
Dim objWMIService, objComputer As Object
objWMIService = GetObject("Winmgmts:{impersonationLevel=impersonate,(Debug,Sh utdown)}")
For Each objComputer In objWMIService.InstancesOf("Win32_OperatingSystem")
t = objComputer.Win32Shutdown(8 + 4, 0)
If t <> 0 Then
MsgBox("Error!!!")
Else
'LogOff your system
End If
Next
دوست عزیز کاش یه توضیح هرچند مختصر میزاشتید. و به جای قسمت خاموش شدن چی باید بزارم

ali_md110
دوشنبه 13 آبان 1387, 13:43 عصر
میتونی قسمت بعد از else رو حذف کنی
این کدها رو بزار تو رویداد کلیک یک button بعد ببین کامپیوترتون خاموش میشه یانه
این کدها کامپیوتر شما رو از سرویس خارج میکنه توسط دستور
objComputer.Win32Shutdown(8 + 4, 0)
اگر ارکومانهاشو عوض کنی کامپیوتر Restart میکنه

t = objComputer.Win32Shutdown(2 + 4, 0)
جهت log off کردن

t = objComputer.Win32Shutdown(0, 0)

morteza_261
دوشنبه 13 آبان 1387, 13:45 عصر
سلام

خاموش شدن کامپیوتر:


Process.Start("shutdown.exe", "-s -t 00")

لوگ آف کردن:


Process.Start("logoff")

ری استارت:


Process.Start("shutdown.exe", "-r -t 00")


ایام به کام

baran_mehr
دوشنبه 13 آبان 1387, 15:55 عصر
ممنون از لطف همه دوستان.
ali_md110 جان ببخشید من فکر کردم شما اون قسمت رو به عهده من گذاشتید برای همین امتحانش نکرده بود. مرسی