Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Pantalone
-
- Постоялец
-
-
- Сообщения: 687
- Зарегистрирован: 12.11.2005 (Сб) 16:46
- Откуда: Сапог
Pantalone » 21.10.2008 (Вт) 1:33
Распространяю софтинку одну активно, в ней есть пачка ОСХ, дистриб собираю через InnoSetup. Время от времени народ присылает баг репорты из которых я понимаю что одна из ОСХ вдруг почему-то казывается незареганной. Так и не удалось мне понять почему, то ли Inno косячит и не всегда как следует регистрирует, то ли глючные компы какие-то. Хотелось бы при старте проги проверить регистрацию ОСХ и если ее нету то зарегать.
Подскажите примерчик если кто исследовал эту тему.
-
Bov
-
- Новичок
-
-
- Сообщения: 44
- Зарегистрирован: 18.08.2005 (Чт) 0:49
Bov » 21.10.2008 (Вт) 1:45
Возможно у народа у которых не регаеться осх - ос Vista. Инносетап хороший инсталятр - косячить не должен.
-
Pantalone
-
- Постоялец
-
-
- Сообщения: 687
- Зарегистрирован: 12.11.2005 (Сб) 16:46
- Откуда: Сапог
Pantalone » 21.10.2008 (Вт) 3:24
Не, бывает и виста и хрюша.
Вот так вызываю регистрицию в инно, что может быть не так?
- Код: Выделить всё
Source: "Y:\DLLS\MSWINSCK.OCX"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver uninsnosharedfileprompt
-
Бяка
-
- Бывалый
-
-
- Сообщения: 219
- Зарегистрирован: 21.09.2005 (Ср) 21:28
Бяка » 21.10.2008 (Вт) 22:00
регистрация/унрегистрация DLLOCX
- Код: Выделить всё
Option Explicit
Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Public Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Public Function DLLOCX(ByVal hWnd As Long, ByVal Path As String, ByVal Register As Boolean) As Boolean
On Error Resume Next
Dim LB As Long, PA As Long
LB = LoadLibrary(Path)
If LB = 0 Then Exit Function
If Register = True Then
PA = GetProcAddress(LB, "DllRegisterServer")
Else
PA = GetProcAddress(LB, "DllUnregisterServer")
End If
If PA = 0 Then GoTo 0
Call CallWindowProc(PA, hWnd, ByVal 0&, ByVal 0&, ByVal 0&)
DLLOCX = True
0
Call FreeLibrary(LB)
End Function
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 57