Codename
HyperIM Programmer
Plugin Developer
Veteran
     
Karma: +70/-61
Posts: 928
Now you know what a hypercube means
|
 |
« on: Thursday, March 30, 2006, 19:27:41 » |
|
So, do you want to make a HyperIM plugin?What you would need to know: - how to work with a programming language that supports creating Dynamic Link Libraries (DLL files) for Windows. - some very basic C/C++ knowledge so you can make use of the SDK file that provides the required constants and data types used by plugins, and also to be able to go through the tutorials (hopefully tutorials written in other programming languages will appear in time). This thread is dedicated to the latest SDK file and presenting plugin tutorials. First of all the latest SDK is available for download by clicking this link. It contains the latest header file for HyperIM 2.12, a blank plugin project, and two tutorial plugins:[/b]). Tutorial 1This is a very, very, basic plugin that just shows the fundamental part of creating a plugin in C. The only thing it does is displaying a message box of every new status from HyperIM when the new status event occurs. Includes: plugin source, SDK file, MS Visual C++ 6.0 project file, and Dev-C++ project file. It compiles just fine with both of these.Tutorial 2This is a simple plugin that shows how to create and register a macro set that will show up in HyperIM, and how and when you should change their values. You can also learn how to work with a few of the macro-related events. Includes:- plugin source and SDK file
- MS Visual C++ 6.0 project file, and a Dev-C++ project file. It compiles just fine with both of these.
|
|
|
|
« Last Edit: Friday, August 17, 2007, 14:41:21 by Codename »
|
Logged
|
|
|
|
Codename
HyperIM Programmer
Plugin Developer
Veteran
     
Karma: +70/-61
Posts: 928
Now you know what a hypercube means
|
 |
« Reply #1 on: Monday, June 26, 2006, 19:04:04 » |
|
Crystal Player media info
This plugin was written in MS Visual C++ 6.0. It uses just plain C++ and Windows API, so you should be familiar with these if you expect to understand anything in these source.
You can use this as a base for writing a new "media info" plugin for other players.
|
|
|
|
|
Logged
|
|
|
|
Znupi
Wannabee
Global Moderator
Veteran
    
Karma: +15/-9
Posts: 317
My Other OS is a Linux!
|
 |
« Reply #2 on: Wednesday, July 26, 2006, 13:59:01 » |
|
 Damn you're a genious, what would we have done without you ....  ?
|
|
|
|
|
Logged
|
|
|
|
Codename
HyperIM Programmer
Plugin Developer
Veteran
     
Karma: +70/-61
Posts: 928
Now you know what a hypercube means
|
 |
« Reply #3 on: Monday, July 31, 2006, 11:53:29 » |
|
Updated SDK to version 2.0.7
<core> macros plugin source
This is the source code for the <core> macros plugin. Includes source + IDE projects for MSVC and Dev-C++
|
|
|
|
« Last Edit: Monday, July 31, 2006, 14:37:10 by Codename »
|
Logged
|
|
|
|
Ovidiu
HyperIM User - Newbie
Official Beta Tester
Active Member
    
Karma: +1/-2
Posts: 43
|
 |
« Reply #4 on: Monday, July 31, 2006, 13:37:29 » |
|
unable to compile it. devc++4
[attachment deleted by admin]
|
|
|
|
|
Logged
|
Windows 98 SE, Winamp 2.95, YM 7.5.0.819, 2.0.8
 Windows XP SP3, Winamp 5.55, YM 10.0.0.1102, 2.14, Winamp Plugin v4.6
|
|
|
Codename
HyperIM Programmer
Plugin Developer
Veteran
     
Karma: +70/-61
Posts: 928
Now you know what a hypercube means
|
 |
« Reply #5 on: Monday, July 31, 2006, 14:38:18 » |
|
It worked fine for me using Dev-C++ (4.9.9.2). Anyway I added the .dev project file, try it now 
|
|
|
|
|
Logged
|
|
|
|
|
Cris
|
 |
« Reply #6 on: Friday, February 09, 2007, 18:44:24 » |
|
Where can I get the new SDK from? (with icon support)
|
|
|
|
|
Logged
|
|
|
|
Codename
HyperIM Programmer
Plugin Developer
Veteran
     
Karma: +70/-61
Posts: 928
Now you know what a hypercube means
|
 |
« Reply #7 on: Saturday, February 10, 2007, 18:25:01 » |
|
Where can I get the new SDK from? (with icon support)
I just updated the SDK archive.
|
|
|
|
|
Logged
|
|
|
|
|
Cris
|
 |
« Reply #8 on: Saturday, February 10, 2007, 19:47:11 » |
|
I think there might be an error in a comment in the new SDKtypedef struct _himRegisterMacros { ... HBITMAP hBmp ; // a pretty image that stands near the name. Requires (flags & 0x01) ...
} HIMREGISTERMACROS ;
Shouldn't it require the 0x10 flag?EDIT: Never mind, I didn't see the BYTE flags ; line  But I can't make the Bitmap work. I added: this->hRM.flags = 0x01; this->hRM.hBmp = reinterpret_cast<HBITMAP>(IDB_BITMAP);
before registering the macros, but there's no bitmap in the menu. The icon works fine.
|
|
|
|
« Last Edit: Saturday, February 10, 2007, 20:17:40 by Cris »
|
Logged
|
|
|
|
Codename
HyperIM Programmer
Plugin Developer
Veteran
     
Karma: +70/-61
Posts: 928
Now you know what a hypercube means
|
 |
« Reply #9 on: Saturday, February 10, 2007, 21:21:27 » |
|
But I can't make the Bitmap work. I added: this->hRM.flags = 0x01; this->hRM.hBmp = reinterpret_cast<HBITMAP>(IDB_BITMAP);
before registering the macros, but there's no bitmap in the menu. The icon works fine. Sorry, it wasn't very clear, you need to load it yourself, for example like below. // HIMREGISTERMACROS hRM ; hRM.flags = 0x01 ; hRM.hBmp = (HBITMAP) LoadImage (himPluginDll.hInstance, MAKEINTRESOURCE(IDB_BITMAPX), IMAGE_BITMAP, GetSystemMetrics (SM_CXMENUCHECK), GetSystemMetrics (SM_CYMENUCHECK), LR_LOADTRANSPARENT); // register macro set result = pKernel (HIMK_REGISTERMACROS, &hRM) ;
|
|
|
|
|
Logged
|
|
|
|
Codename
HyperIM Programmer
Plugin Developer
Veteran
     
Karma: +70/-61
Posts: 928
Now you know what a hypercube means
|
 |
« Reply #10 on: Sunday, February 25, 2007, 19:29:58 » |
|
I have updated the SDK file (aka plugin.h) to reflect the plugin tooltip feature introduced in HyperIM 2.12
|
|
|
|
|
Logged
|
|
|
|
|
Cris
|
 |
« Reply #11 on: Thursday, November 01, 2007, 11:16:33 » |
|
For HIM 2.13 do I need to get a new SDK, or I just change everything from char to Unicode? If I need a new SDK, where do I get it from?
|
|
|
|
|
Logged
|
|
|
|
Codename
HyperIM Programmer
Plugin Developer
Veteran
     
Karma: +70/-61
Posts: 928
Now you know what a hypercube means
|
 |
« Reply #12 on: Thursday, November 01, 2007, 11:23:13 » |
|
I think you wanted to say "for HIM 2.20" maybe?
First of all, the easiest way is ti create a new configuration based on the "Release" settings, and just replace form the project settings -> C++ the default defined _MBCS with _UNICODE,UNICODE
And ofcourse use the _T() routine on all your strings...
|
|
|
|
|
Logged
|
|
|
|
|
simslim
Passive Member
Karma: +0/-0
Posts: 1
|
 |
« Reply #13 on: Monday, November 12, 2007, 23:32:21 » |
|
id like to start learning, but i just started a week ago learning C#, not C++, is there any tutorial availeble for it too? and is it possible to read addresses out of the memory of another program? thanks alot
|
|
|
|
|
Logged
|
|
|
|
|