Files
Client/Library/dxx8/samples/Multimedia/VBSamples/Common/media.bas
LGram16 e067522598 Initial commit: ROW Client source code
Game client codebase including:
- CharacterActionControl: Character and creature management
- GlobalScript: Network, items, skills, quests, utilities
- RYLClient: Main client application with GUI and event handlers
- Engine: 3D rendering engine (RYLGL)
- MemoryManager: Custom memory allocation
- Library: Third-party dependencies (DirectX, boost, etc.)
- Tools: Development utilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:24:34 +09:00

58 lines
2.4 KiB
QBasic

Attribute VB_Name = "MediaDir"
Option Explicit
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Copyright (C) 1999-2001 Microsoft Corporation. All Rights Reserved.
'
' File: media.bas
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Registry constants
Private Const KEY_READ = 131097
Private Const REG_SZ = 1
Private Const HKEY_LOCAL_MACHINE = &H80000002
'Registry API's
Private Declare Function RegConnectRegistry Lib "advapi32.dll" Alias "RegConnectRegistryA" (ByVal lpMachineName As String, ByVal hKey As Long, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Function FindMediaDir(ByVal sFile As String, Optional ByVal fUseCMedia As Boolean = False) As String
If Dir$(sFile, vbNormal) <> vbNullString Then 'This file is the current folder
FindMediaDir = AddDirSep(CurDir)
Exit Function
End If
If fUseCMedia Then
FindMediaDir = AddDirSep(GetDXSampleFolder) & "media\"
Else
FindMediaDir = AddDirSep(GetDXSampleFolder) & "vbsamples\media\"
End If
End Function
Public Function AddDirSep(ByVal sPath As String) As String
AddDirSep = sPath
If Right$(sPath, 1) <> "\" Then
AddDirSep = sPath & "\"
End If
End Function
Public Function GetDXSampleFolder() As String
Dim lHandle As Long
Dim lNewHandle As Long, sValue As String
Dim lNewKey As Long
RegConnectRegistry vbNullString, HKEY_LOCAL_MACHINE, lHandle
RegOpenKeyEx lHandle, "SOFTWARE\Microsoft\DirectX SDK", 0, KEY_READ, lNewHandle
sValue = Space$(255)
RegQueryValueEx lNewHandle, "DX81SDK Samples Path", 0, REG_SZ, sValue, 255
If sValue <> Space$(255) Then
sValue = Left$(sValue, InStr(sValue, Chr$(0)) - 1)
Else
sValue = vbNullString
End If
RegCloseKey lNewHandle
RegCloseKey lHandle
GetDXSampleFolder = sValue
End Function