HVordan tjekker jeg styresystem?

Tags:    visual-basic

Hvordan tjekker jeg hvilket styresystem en computer kører med? Jeg skal bruge det til at ligge en fil i mappen "Start"



Hvordan tjekker jeg hvilket styresystem en computer kører med? Jeg skal bruge det til at ligge en fil i mappen "Start"


så skal du til at i gang mad noget programering hvis du kan visual basic kan jeg godt sende en det der skal bruges af kode



Hvordan tjekker jeg hvilket styresystem en computer kører med? Jeg skal bruge det til at ligge en fil i mappen "Start"


[Redigeret d. 14/12-02 12:33:37 af Tonny Juhl Petersen]



Hvordan tjekker jeg hvilket styresystem en computer kører med? Jeg skal bruge det til at ligge en fil i mappen "Start"


Sludder or vrøvl...
- Hvis du har brug for mappen "START" til start menuen, har det da intet at gøre
med, hvilke version af windows du bruger (hvis du er proff.)

Det du skal i gang med, er API for at hente "SPECIAL FOLDERS", og dermed "START" menuen.


Her er hvad der skal til :

Følgende skal ligges i et modul:
<pre>
Option Explicit
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Const NOERROR = 0
Public Enum spcFolders
xCSIDL_DESKTOP = &H0
xCSIDL_PROGRAMS = &H2
xCSIDL_CONTROLS = &H3
xCSIDL_PRINTERS = &H4
xCSIDL_PERSONAL = &H5
xCSIDL_FAVORITES = &H6
xCSIDL_STARTUP = &H7
xCSIDL_RECENT = &H8
xCSIDL_SENDTO = &H9
xCSIDL_BITBUCKET = &HA
xCSIDL_STARTMENU = &HB
xCSIDL_DESKTOPDIRECTORY = &H10
xCSIDL_DRIVES = &H11
xCSIDL_NETWORK = &H12
xCSIDL_NETHOOD = &H13
xCSIDL_FONTS = &H14
xCSIDL_TEMPLATES = &H15
End Enum
Private Type SHITEMID
cb As Long
abID As Byte
End Type
Private Type ITEMIDLIST
mkid As SHITEMID
End Type

Function GetSpecialfolder(CSIDL As spcFolders) As String
On Error Resume Next
Dim R As Long
Dim IDL As ITEMIDLIST
Dim Path As String
'Get the special folder
R = SHGetSpecialFolderLocation(100, CSIDL, IDL)
If R = NOERROR Then
'Create a buffer
Path$ = Space$(512)
'Get the path from the IDList
R = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$)
'Remove the unnecessary chr$(0)'s
GetSpecialfolder = left$(Path, InStr(Path, Chr$(0)) - 1)
If Right(GetSpecialfolder, 1) <> "\\" Then GetSpecialfolder = GetSpecialfolder & "\\"
Exit Function
End If
GetSpecialfolder = ""
End Function
</pre>

Og så kan du bruge metoden :

<pre>
MsgBox GetSpecialfolder(xCSIDL_STARTMENU), vbInformation
</pre>

til at få vist menuen start's fysiske sti.

/Duplex




<pre>
Ja det er godt nok svært at argumentere imod, man(jeg) skal lære så længe man lever :0)
og så tier jeg ellers stille og lader profferne tale lol
Cool Duplex

Tonny

Ps. Nu du er ved tasterne kan du så ikke lige vise hvordan man ligger en genvej ind i fx
startsti = (GetSpecialfolder(xCSIDL_STARTMENU))
MkDir startsti & "programs\\test"
</pre>
[Redigeret d. 14/12-02 02:30:13 af Tonny Juhl Petersen][Redigeret d. 15/12-02 01:21:44 af Tonny Juhl Petersen][Redigeret d. 15/12-02 01:22:22 af Tonny Juhl Petersen]



Du kan også gøre det sådan her...

Lav et modul og indsæt følgende i det:
Fold kodeboks ind/udKode 


Nu kan du kalde den sådan:
Fold kodeboks ind/udKode 




[Redigeret d. 26/05-03 18:00:39 af HAP]




t