Хакер писал(а):Environ("USERPROFILE") + добавляй "Рабочий стол" или что тебе там надо
Хакер писал(а):Любую проблему я сначала пытаюсь решить встроенными средствами языка, и только потом прибегать а API и прочему...
Хакер писал(а):environ("windir")
Хакер писал(а):Любую проблему я сначала пытаюсь решить встроенными средствами языка, и только потом прибегать а API и прочему...
zaf писал(а):Почему пишет Premission denied ??
alibek писал(а):А знаешь, что даст твой метод на не русскоязычной Windows?
Хакер писал(а):zaf писал(а):Почему пишет Premission denied ??
Потому что файл используется другой прогрой или другим компонентом, короче он занят и его нельзя переписать...alibek писал(а):А знаешь, что даст твой метод на не русскоязычной Windows?
environ - работает на любой версии, а вот что я буду прибавлять к environ это уже моё дело, и если я буду писать софт, который будут юзать на не-советских виндах я естественно предусмотрю такой вариант.
Amed писал(а):Хакер, а если софт, который ты пишешь, потребуется поставить не на американскую, а на итальянскую систему с соответствующим названием папки?
Хакер писал(а):Как проверить есть файл или нет?
Тебе нужно проверить наличие файла?
Хакер писал(а):environ - работает на любой версии, а вот что я буду прибавлять к environ это уже моё дело, и если я буду писать софт, который будут юзать на не-советских виндах я естественно предусмотрю такой вариант.
zaf писал(а):Хакер писал(а):Как проверить есть файл или нет?
Тебе нужно проверить наличие файла?
А как каким образом?
Посвяти плиз
Хакер писал(а):tyomitch, Win9X - скоро будет чем-то вроде легенде о Лохнесском чудовище.
tyomitch писал(а):Хакер писал(а):tyomitch, Win9X - скоро будет чем-то вроде легенде о Лохнесском чудовище.
Расскажи это BV, GSerg-у, и остальным в числе 4% посетителей форума, которые сидят под Win98.
Public Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal szData As String, ByVal cbData As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal szData As String, ByRef lpcbData As Long) As Long
Public Declare Function RegCreateKeyEx Lib "advapi32" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_DYN_DATA = &H80000006
Public Const KEY_QUERY_VALUE = &H1 'Permission to query subkey data.
Public Const KEY_SET_VALUE = &H2 'Permission to set subkey data.
Public Const KEY_CREATE_SUB_KEY = &H4
Public Const KEY_ENUMERATE_SUB_KEYS = &H8
Public Const KEY_NOTIFY = &H10
Public Const KEY_CREATE_LINK = &H20
Public Const KEY_READ = KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY
Public Const KEY_WRITE = KEY_SET_VALUE Or KEY_CREATE_SUB_KEY
Public Const KEY_ALL_ACCESS = KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_SUB_KEY Or KEY_CREATE_LINK Or KEY_SET_VALUE
Public Const REG_OPTION_NON_VOLATILE = 0&
Public Const REG_OPTION_VOLATILE = &H1
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Public Enum RegTypes
RegNonee = 0
RegSZ = 1
RegExpandSz = 2
RegBinary = 3
RegDword = 4
RegDwordLittleEndian = 4
RegDwordBigEndian = 5
RegLink = 6
RegMultiSz = 7
RegResourceList = 8
RegFulResourceDesc = 9
End Enum
'Чтение значения
Public Function RegGetValue(Root As Long, SubKey As String, Key As String) As String
Dim Buffer As String, hKey As Long, nType As Long, nSize As Long
RegGetValue = ""
If Not RegOpenKeyEx(Root, SubKey, 0, KEY_READ, hKey) Then
nSize = 0
RegQueryValueEx hKey, Key, 0, nType, Buffer, nSize
If hKey And nSize > 0 And nType = RegSZ Then
Buffer = Space(nSize + 1)
RegQueryValueEx hKey, Key, 0, nType, Buffer, nSize
RegGetValue = Left(Buffer, nSize - 1)
RegCloseKey hKey
End If
End If
End Function
'Запись в реестр
Public Sub RegSetValue(Root As Long, SubKey As String, Key As String, value As String)
Dim hKey As Long, sa As SECURITY_ATTRIBUTES, nDisp As Long
If Not RegCreateKeyEx(Root, SubKey, 0, vbNull, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, sa, hKey, nDisp) Then
RegSetValueEx hKey, Key, 0, RegSZ, value, Len(value) + 1
RegCloseKey hKey
End If
End Sub
RegSetValue XYZ, "Software/Microsoft/CurrentVersion/Run", "MyAutoRunProga777", """c:\doc\ss.exe"""
UPDATE " . TOPICS_TABLE . "
SET topic_views = topic_views + 1
WHERE topic_id = $topic_id
zaf писал(а):tyomitch писал(а):Хакер писал(а):tyomitch, Win9X - скоро будет чем-то вроде легенде о Лохнесском чудовище.
Расскажи это BV, GSerg-у, и остальным в числе 4% посетителей форума, которые сидят под Win98.
Че спорите?
Подскажи правильный способ тогда!
Хакер писал(а):RegSetValue XYZ, "Software/Microsoft/CurrentVersion/Run", "MyAutoRunProga777", """c:\doc\ss.exe"""
Хакер писал(а):Да! Чёт я вообще уже стал... наверно на пенсию пора...
Хакер писал(а)::lol:
Поправил...
MeMBus писал(а):оффтоп:
Просмотров: 50459
Посмотрел на цифру и зашел в топик... что-то не то...
Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 23