Gå til innhold

TV og PC, kun PC etc bytta hved hjelp av WinAPI


Anbefalte innlegg

OK, kossen kan eg butta mellom 2 (eller mer oppsett) hved hjelp av Windows API?

 

PC - Only

PC-TV Clone

PC(2) - TV(1) (te film etc)

 

kossen kan eg butta mellom disse opsettå hved hjelp av WinAPI?

 

ChangeDisplaySettings

???

 

PS. 1027x768, 32BPP på alle displayer...

 

PS2:

dette e koden, mes som altid returnerer false... who knows...

Option Explicit

Private Declare Function EnumDisplayDevices Lib "user32" Alias "EnumDisplayDevicesA" (Unused As Any, ByVal iDevNum As Long, lpDisplayDevice As DISPLAY_DEVICE, ByVal dwFlags As Long) As Long

Private Type DISPLAY_DEVICE
   cb As Long
   DeviceName As String * 256
   DeviceString As String * 256
   StateFlags As Long
   DeviceID As String * 256
   DeviceKey  As String * 256
End Type

Dim x As Long

Private Sub Command1_Click()
x = x + 1
Dim temp As DISPLAY_DEVICE
Dim ret As Long
temp.cb = LenB(temp)
ret = EnumDisplayDevices(vbNull, x, temp, vbNull)
Cls
Print ret & ": Return Value"
With temp
   Print .cb & ": Size of Structure"
   Print .DeviceID & ": Device ID"
   Print .DeviceKey & ": Device Key"
   Print .DeviceName & ": Device Name"
   Print .DeviceString & ": Device String"
   Print .StateFlags & ": Current Flags"
   Print ""
   Print x & ": Device Number"
End With
End Sub

Private Sub Form_Load()
x = -1
End Sub

Endret av Richard87
Lenke til kommentar
Videoannonse
Annonse

Du kaller ikke funksjonen EnumDisplayDevices på en riktig måte. Man kan ikke sende verdien 0 med vbNull når paramenteren automatisk sender lokalisasjonen til variabelen eller verdien den blir gitt. Istendenfor må man gjøre noe som følger:

 

ret = EnumDisplayDevices(ByVal 0&, x, temp, 0&)

Lenke til kommentar

rart, MSDN skrev NULL, ikke 0:(

 

unasett virket ike det heller...

 

Private Sub Command1_Click()
x = x + 1
Dim test As Long
Dim temp As DISPLAY_DEVICE
Dim ret As Long
temp.cb = LenB(temp)
ret = EnumDisplayDevices(test, x, temp, test)
Cls
With temp
   Print .cb & ": Size of Structure"
   Print .DeviceID & ": Device ID"
   Print .DeviceKey & ": Device Key"
   Print .DeviceName & ": Device Name"
   Print .DeviceString & ": Device String"
   Print .StateFlags & ": Current Flags"
   Print "----------------------------------"
   Print ret & ": Return Value"
   Print x & ": Device Number"
End With
End Sub

Endret av Richard87
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...