Eski 28-04-04, 20:15 #1
Akrepe Akrepe çevrimdışı
Question Vb module yardım!!! (Cok acil lütfen!!!)

----------------------------------------------------------------------------------------------------------------------------------------------------

Aşağıda yazacağım vb kodu bilgisayarın yeniden başlamasını sağlıyor.Windows 98 de "user32" deniliyor.Ancak Windows Xp'de dememiz gerekiyor.Windows Xp'de,bu de declaretion çalışmıyor.Sanırım Windows Xp için "user32" yerine başka bir kelime kullanılmalı.Yardımcı olursanız cok büyük bir hayır yapmış olacaksınız.Şimdiden sağolun. . . .

Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

Sizin de bildiğiniz üzere bu kodlar declare işlemi kapsamında olduğundan standart .exe uzantılı dosyalarda module yazılıyor.Yardım ederseniz sevindirik olacağız. . . . .




----------------------------------------------------------------------------------------------------------------------------------------------------
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 22-05-04, 20:23 #2
Akrepe Akrepe çevrimdışı
Exclamation Yardımlarınız İçin Çok Sağolun!!!

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Yardımlarınız için herkeze çok ama çok teşekkür ederim.
Ben yeni birşey daha öğrendim bugün ne biliyor musunuz bu!?
İki yeni ihtimal sizlerle bunu paylaşmak istedim:
Ya bu sitede Visual Basic'ten anlayan kimse yok (Adminler de dahil buna yani
üstlerine alınabilirler.) ! ! !
Ya da bu sitedeki kullanıcılar aşırı yardım sever ! ! !


Ha siz nedersiniz. . .
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 23-05-04, 00:08 #3
haldunuraz haldunuraz çevrimdışı
Varsayılan Cvp: Vb module yardım!!! (Cok acil lütfen!!!)

soruna cevap alamığın zaman insanlara b*k aymak hiç hoş bir davranış değil.

bunlarda declarations

Private Type LUID
UsedPart As Long
IgnoredForNowHigh32BitPart As Long
End Type

Private Type TOKEN_PRIVILEGES
PrivilegeCount As Long
TheLuid As LUID
Attributes As Long
End Type

Private Const EWX_SHUTDOWN As Long = 1
Private Const EWX_FORCE As Long = 4
Private Const EWX_REBOOT = 2
Private Const EWX_POWEROFF As Long = 8

Private Declare Function ExitWindowsEx Lib "user32" (ByVal _
dwOptions As Long, ByVal dwReserved As Long) As Long

Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function OpenProcessToken Lib "advapi32" (ByVal _
ProcessHandle As Long, _
ByVal DesiredAccess As Long, TokenHandle As Long) As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32" _
Alias "LookupPrivilegeValueA" _
(ByVal lpSystemName As String, ByVal lpName As String, lpLuid _
As LUID) As Long
Private Declare Function AdjustTokenPrivileges Lib "advapi32" _
(ByVal TokenHandle As Long, _
ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES _
, ByVal BufferLength As Long, _
PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long

Private Sub AdjustToken()
Const TOKEN_ADJUST_PRIVILEGES = &H20
Const TOKEN_QUERY = &H8
Const SE_PRIVILEGE_ENABLED = &H2
Dim hdlProcessHandle As Long
Dim hdlTokenHandle As Long
Dim tmpLuid As LUID
Dim tkp As TOKEN_PRIVILEGES
Dim tkpNewButIgnored As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long

hdlProcessHandle = GetCurrentProcess()
OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or _
TOKEN_QUERY), hdlTokenHandle

' Get the LUID for shutdown privilege.
LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid

tkp.PrivilegeCount = 1 ' One privilege to set
tkp.TheLuid = tmpLuid
tkp.Attributes = SE_PRIVILEGE_ENABLED

' Enable the shutdown privilege in the access token of this process.
AdjustTokenPrivileges hdlTokenHandle, False, _
tkp, Len(tkpNewButIgnored), tkpNewButIgnored, lBufferNeeded

End Sub

bu da code
' add a command button to form and write in click event this code:

Private Sub Command1_Click()
AdjustToken
ExitWindowsEx (EWX_POWEROFF), &HFFFF

End Sub

biraz araştırsan bulurdun....
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Cevapla

Bu konunun kısa yolunu aşağıdaki sitelere ekleyebilirsiniz

Konu Araçları

Gönderme Kuralları
Yeni konu açamazsınız
Cevap yazamazsınız
Dosya gönderemezsiniz
Mesajlarınızı düzenleyemezsiniz

BB code is Açık
Smiley Açık
[IMG] kodu Açık
HTML kodu Kapalı



Tüm saatler GMT +3. Şuan saat: 23:11
(Türkiye için artık GMT +3 seçilmelidir.)

 
5651 sayılı yasaya göre forumumuzdaki mesajlardan doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Şikayet Mailimiz. İçerik, Yer Sağlayıcı Bilgilerimiz. Tatil