在易语言中,可以使用相关的API函数来获取显卡型号。首先,需要通过调用"GetTickCount"函数获取一个标志位,然后调用函数"FillList"以填充显示设备列表。最后,可以通过遍历显示设备列表,使用"GetDriverInfo"函数获取具体的显卡型号。
下面是一个获取显卡型号的示例代码:
```easy
Declare Function GetTickCount Lib "kernel32.dll" () As Long
Declare Function FillList% Lib "user32" Alias "EnumDisplayDevicesA" ( lpDevice%
, ByVal iDevNum&, Var lpDisplayDevice&, ByVal dwFlags%)
Declare Function GetDriverInfo% Lib "gdi32" Alias "GetDeviceCaps" ( ByVal hdc
, ByVal nIndex%)
Declare Function SendMessage% Lib "user32" Alias "SendMessageA" ( Byval hWnd
, Byval Msg%, Byval wParam%, Byref lParam)
Declare Function FindWindow@ Lib("user32.dll") Alias("FindWindowA") (ByVal lpClassName As LPCSTR, ByVal lpWindowNam e As LPCSTR)
Const PRIMARY_DEVICE$/8=String(8,0)
Const SECONDARY_DEVICE$/8=String(8,0)
EnumDvcStru@.Size=160
Constant DM_COPY@=2
Constant DISPLAY_DEVICE_ACTIVE%=0x1
Constant DISPLAY_DEVICE_ATTACHED%=0x4
Constant DISPLAY_DEVICE_PRIMARY_DEVICE%=0x10
Exec2 DM_ENUM_CURRENT_SETTINGS$
Func Exec1$
s=Space$(512)
Call FillList(s,%NULL,DISPLAY_DEVICE_ATTACHED%)
For i=0 To StrToLists(Varptr(s),v$)-1
For j=0 To StrToLists(Varptr(s)+i*EnumDvcStru@@.Size,EnumDvcStru/@)-1
If EnumDvcStru@@.State%@DISPLAY_DEVICE_ATTACHED%=0 Then Continue
If EnumDvcStru@@.State%@DISPLAY_DEVICE_ACTIVE%=0 Then Continue
If EnumDvcStru@@.State%@DISPLAY_DEVICE_PRIMARY_DEVICE%<>0 Then
PRIMARY_DEVICE$=Trim$(EnumDvcStru@@.DeviceName@@)
Else
SECONDARY_DEVICE$=Trim$(EnumDvcStru@@.DeviceName@@)
End If
Next
Next
Return True
EndFunc
Func Exec2$
hWnd=FindWindow("Progman","Program Manager")
hWnd=SendMessage(hWnd,0x52,0,0)
hWndF=0
hWndS=0
Repeat
hWnd=FindWindow("WorkerW",0)
hWnd=FindWindowEx(hWnd,0,"SHELLDLL_DefView",0)
If hWnd<>0 Then hWndF=hWnd:Break
Sleep(50)
Until False
Repeat
hWnd=FindWindowEx(hWnd,0,"SysListView32",0)
hWndS=hWnd
If hWnd<>0 Then Break
Sleep(50)
Until False
Call SendMessage(hWndS,0x100,0x63,0)
Call SendMessage(hWndS,0x100,34,0)
Call SendMessage(hWndS,0x100,34,0)
Sleep(500)
Return True
EndFunc
Flag=GetTickCount()
Exec1()
PRIMARY_DEVICE$=PRIMARY_DEVICE$
SECONDARY_DEVICE$=SECONDARY_DEVICE$
```