What happened to the Messenger Plus! forums on msghelp.net?
Shoutbox » MsgHelp Archive » Messenger Plus! for Live Messenger » Scripting » Plug-Ins » What am I doing wrong?

Pages: (2): « First [ 1 ] 2 » Last »
What am I doing wrong?
Author: Message:
sena
Junior Member
**

Avatar
mEo Rocks!

Posts: 23
34 / Male / –
Joined: May 2005
O.P. Huh?  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?!
[Image: mEo3.jpg]
10-01-2005 11:21 AM
Profile E-Mail PM Web Find Quote Report
Plik
Veteran Member
*****

Avatar

Posts: 1489
Reputation: 46
34 / Male / –
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
Profile PM Find Quote Report
sena
Junior Member
**

Avatar
mEo Rocks!

Posts: 23
34 / Male / –
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?
[Image: mEo3.jpg]
10-01-2005 02:33 PM
Profile E-Mail PM Web Find Quote Report
matty
Scripting Guru
*****


Posts: 8336
Reputation: 109
39 / Male / Flag
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
Profile E-Mail PM Find Quote Report
sena
Junior Member
**

Avatar
mEo Rocks!

Posts: 23
34 / Male / –
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?
[Image: mEo3.jpg]
10-01-2005 02:49 PM
Profile E-Mail PM Web Find Quote Report
J-Thread
Full Member
***

Avatar

Posts: 467
Reputation: 8
– / Male / –
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
Profile E-Mail PM Find Quote Report
sena
Junior Member
**

Avatar
mEo Rocks!

Posts: 23
34 / Male / –
Joined: May 2005
O.P. RE: What am I doing wrong?
Dammit... lucky bums :P
[Image: mEo3.jpg]
10-01-2005 03:12 PM
Profile E-Mail PM Web Find Quote Report
matty
Scripting Guru
*****


Posts: 8336
Reputation: 109
39 / Male / Flag
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
Profile E-Mail PM Find Quote Report
sena
Junior Member
**

Avatar
mEo Rocks!

Posts: 23
34 / Male / –
Joined: May 2005
O.P. RE: What am I doing wrong?
OK, i'll try that later on... g2g sleep now...
[Image: mEo3.jpg]
10-01-2005 03:21 PM
Profile E-Mail PM Web Find Quote Report
Stigmata
Veteran Member
*****



Posts: 3520
Reputation: 45
20 / Other / Flag
Joined: Jul 2003
RE: What am I doing wrong?
HKEY_LOCAL_MACHINE\SOFTWARE\Patchou\MsgPlus2\RegisteredPlugins

is that what you mean :S
10-01-2005 03:23 PM
Profile PM Web Find Quote Report
Pages: (2): « First [ 1 ] 2 » Last »
« Next Oldest Return to Top Next Newest »


Threaded Mode | Linear Mode
View a Printable Version
Send this Thread to a Friend
Subscribe | Add to Favorites
Rate This Thread:

Forum Jump:

Forum Rules:
You cannot post new threads
You cannot post replies
You cannot post attachments
You can edit your posts
HTML is Off
myCode is On
Smilies are On
[img] Code is On