What am I doing wrong? |
Author: |
Message: |
sena
Junior Member
mEo Rocks!
Posts: 23
35 / / –
Joined: May 2005
|
O.P. What am I doing wrong?
Hi,
I am trying to make a plugin for Messenger Plus, but before I start developing it, I want to make sure I can successfully install it first, so I can test it.
I am using VB6.
This is my "Installer". I am using the DLL that comes in the Messenger Plus! Plugins Documentation, Visual Basic 6 Samples section (MPPluginVB.dll)
Form 1:
code: Private Sub Form_Load()
FileSystem.FileCopy App.Path & "\MPPluginVB.dll", GetPluginDirectory & "\MPPluginVB.dll"
MsgBox InstallPlugin("MPPluginVB.dll", "MPPluginVB.Sample")
ReloadPlus
End Sub
Module:
code: Public Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As String) As Long
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const HWND_BROADCAST = &HFFFF&
Public Function GetPluginDirectory()
Dim Temp As String
Temp = GetKeyValue(HKEY_LOCAL_MACHINE, "SOFTWARE\Patchou\MsgPlus2", "PluginDir")
If Temp = "" Then Temp = GetKeyValue(HKEY_CURRENT_USER, "SOFTWARE\Patchou\MsgPlus2", "PluginDir")
If Temp = "" Then Temp = "**ERROR** - Plugin Directory Not Found"
GetPluginDirectory = Temp
End Function
Public Function InstallPlugin(FileName As String, VBWord As String) As Boolean
UpdateKey HKEY_CURRENT_USER, "SOFTWARE\Patchou\MsgPlus2\RegisteredPlugins", FileName, VBWord
InstallPlugin = UpdateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Patchou\MsgPlus2\RegisteredPlugins", FileName, VBWord)
End Function
Public Function ReloadPlus()
Dim nMsg As Long
nMsg = RegisterWindowMessage("MessengerPlus_PluginChange")
PostMessage HWND_BROADCAST, nMsg, 0, 0
End Function
I have used the "RegAccess.bas" file that comes with VB6 to access the registry.
It doesn't work!!! What have I done wrong?!
|
|
10-01-2005 11:21 AM |
|
|
Plik
Veteran Member
Posts: 1489 Reputation: 46
35 / / –
Joined: Jun 2004
|
RE: What am I doing wrong?
dont forget you need to register the dll with regsvr32 <path to dll> if its a vb dll
|
|
10-01-2005 11:26 AM |
|
|
sena
Junior Member
mEo Rocks!
Posts: 23
35 / / –
Joined: May 2005
|
O.P. RE: What am I doing wrong?
I have added that in, but it doesn't work.
Am I doing something in the wrong order? What order do I need to do things in? Call Plus Window, Copy file, registry keys, register dll?
|
|
10-01-2005 02:33 PM |
|
|
matty
Scripting Guru
Posts: 8336 Reputation: 109
39 / /
Joined: Dec 2002
Status: Away
|
RE: What am I doing wrong?
You do them in this order
--> Copy File
--> Register File
--> Registry Entry
--> Reload Plugins
The register file and Registry Entry dont matter their order.
|
|
10-01-2005 02:47 PM |
|
|
sena
Junior Member
mEo Rocks!
Posts: 23
35 / / –
Joined: May 2005
|
O.P. RE: What am I doing wrong?
I have been looking at the registry, and I can't find where some of the more "popular" or "known" plugins have registered themselves. Where are they registered?
|
|
10-01-2005 02:49 PM |
|
|
J-Thread
Full Member
Posts: 467 Reputation: 8
– / / –
Joined: Jul 2004
|
RE: What am I doing wrong?
C++ plugins don't need to be registered, they can just be placed in the plugin dir...
|
|
10-01-2005 03:10 PM |
|
|
sena
Junior Member
mEo Rocks!
Posts: 23
35 / / –
Joined: May 2005
|
O.P. RE: What am I doing wrong?
Dammit... lucky bums
|
|
10-01-2005 03:12 PM |
|
|
matty
Scripting Guru
Posts: 8336 Reputation: 109
39 / /
Joined: Dec 2002
Status: Away
|
RE: What am I doing wrong?
in a form
code: Dim PluginDir As String
Dim PluginFileName As String
Private Sub Form_Load()
PluginDir = GetPluginDirectory()
PluginFileName "MPPluginVB.dll"
If CheckDirectory(PluginDir) = True Then
CopyFile AppPath & PluginFileName, PluginDir & PluginFileName, False
InstallPlugin "MPPluginVB", "MPPluginVB.Sample"
RegisterPlugin PluginDir & PluginFileName
ReloadPlus
Else
MsgBox "Plus! not installed, download from http://msgplus.net"
End If
End Sub
in a module
code: Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Public Declare Function IsNTAdmin Lib "advpack.dll" (ByVal dwReserved As Long, ByRef lpdwReserved As Long) As Long
Public Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As String) As Long
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const HWND_BROADCAST = &HFFFF&
Public Function GetPluginDirectory() As String
If CBool(IsNTAdmin(0&, 0&)) = True Then
GetPluginDirectory = GetKeyValue(HKEY_LOCAL_MACHINE, "SOFTWARE\Patchou\MsgPlus2", "PluginDir")
Else
GetPluginDirectory = GetKeyValue(HKEY_CURRENT_USER, "SOFTWARE\Patchou\MsgPlus2", "PluginDir")
End If
If Right(GetPluginDirectory, 1) <> "\" Then GetPluginDirectory = GetPluginDirectory & "\"
End Function
Public Function InstallPlugin(FileName As String, VBWord As String) As Boolean
If CBool(IsNTAdmin(0&, 0&)) = True Then
InstallPlugin = UpdateKey(HKEY_CURRENT_USER, "SOFTWARE\Patchou\MsgPlus2\RegisteredPlugins", FileName, VBWord)
Else
InstallPlugin = UpdateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Patchou\MsgPlus2\RegisteredPlugins", FileName, VBWord)
End If
End Function
Public Function ReloadPlus()
Dim nMsg As Long
nMsg = RegisterWindowMessage("MessengerPlus_PluginChange")
PostMessage HWND_BROADCAST, nMsg, 0, 0
End Function
Public Function FileExists(strFile As String) As Boolean
On Error GoTo e
FileLen (strFile)
FileExists = True
Exit Function
e:
FileExists = False
End Function
Public Function RegisterPlugin(strPath As String)
Shell "regsvr32.exe " & Chr(34) & strPath & Chr(34)
End Function
Public Function CheckDirectory(strDir As String) As Boolean
On Error GoTo e
Dim CurrentDir As String
CurrentDir = CurDir
ChDir strDir
CheckDirectory = True
ChDir CurrentDir
Exit Function
e:
ChDir CurrentDir
CheckDirectory = False
End Function
This post was edited on 10-01-2005 at 04:12 PM by matty.
|
|
10-01-2005 03:17 PM |
|
|
sena
Junior Member
mEo Rocks!
Posts: 23
35 / / –
Joined: May 2005
|
O.P. RE: What am I doing wrong?
OK, i'll try that later on... g2g sleep now...
|
|
10-01-2005 03:21 PM |
|
|
Stigmata
Veteran Member
Posts: 3520 Reputation: 45
21 / /
Joined: Jul 2003
|
RE: What am I doing wrong?
HKEY_LOCAL_MACHINE\SOFTWARE\Patchou\MsgPlus2\RegisteredPlugins
is that what you mean
|
|
10-01-2005 03:23 PM |
|
|
Pages: (2):
« First
[ 1 ]
2
»
Last »
|
|