Fanatic Live: PSM Modify - Fanatic Live

Jump to content

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

PSM Modify Rate Topic: -----

#1 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 28 March 2009 - 07:22 PM

Hi,

I want to change PSM (on wlm 8 / 9 ) without send "wm_command" (it doesn't work on wlm 9) method.
Anybody know how to do it (in c++ / c or VB) ? (i see that patchou make that in MSN PLUS!)

thanks.
(sorry for my english im french!)

:-)
0

#2 User is offline   TheSteve

  • The Man from Japan
  • Icon
  • Group: Moderators
  • Posts: 1,813
  • Joined: 07-May 05
  • Location:Fukuoka, Japan
  • Interests:Computer Programming

Posted 29 March 2009 - 12:04 PM

Use the IMSNMsgrObject2::SetLocalProperty function using MUSERPROPERTY value 34. The VARIANT should be a BSTR.
0

#3 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 29 March 2009 - 07:11 PM

have you got a example source who's working for do that ?
0

#4 User is offline   TheSteve

  • The Man from Japan
  • Icon
  • Group: Moderators
  • Posts: 1,813
  • Joined: 07-May 05
  • Location:Fukuoka, Japan
  • Interests:Computer Programming

Posted 30 March 2009 - 01:44 AM

Here's a Visual C++ 6 example project I whipped up for you.

Attached File(s)


0

#5 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 30 March 2009 - 07:27 AM

thanks :-)

i have try it , it compile , i've got the button and the textbox. but when i'm clicking on the button it doesn't work :-(

does it work for you ?
0

#6 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 30 March 2009 - 08:53 AM

It work on wlm9 :-)


Is it a different UUID for old'est msn ?
0

#7 User is offline   TheSteve

  • The Man from Japan
  • Icon
  • Group: Moderators
  • Posts: 1,813
  • Joined: 07-May 05
  • Location:Fukuoka, Japan
  • Interests:Computer Programming

Posted 30 March 2009 - 10:00 AM

The UUIDs are the same for the older versions, but in the older versions, IMSNMsgrObject is locked.

I will not directly tell you how to unlock it (that would be too easy for you), but the link there tells you about it and I'm sure you will get it to work if you put forth effort.

Good luck! :w00t:
0

#8 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 30 March 2009 - 10:29 AM

Thanks :-) i will search for do that :-p

:rock:
0

#9 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 30 March 2009 - 11:19 AM

On the MSDN website they say :

"Important ID/key pairs are no longer being issued."

How to get an valid ID/key pairs for unlock the api ?

:-(
0

#10 User is offline   TheSteve

  • The Man from Japan
  • Icon
  • Group: Moderators
  • Posts: 1,813
  • Joined: 07-May 05
  • Location:Fukuoka, Japan
  • Interests:Computer Programming

Posted 30 March 2009 - 12:15 PM

You can use the same product id and key that messenger uses for it's internal protocol.

http://msnpiki.msnfa...NP13:Challenges

8.0.0812.00's key *should* still work.
0

#11 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 30 March 2009 - 06:28 PM

I try to use the function "IMsgrLock::RequestChallenge" but the problem is that i don't find how to declare IMsgrLock :-(

Can you put me on the good path ? :angel:
0

#12 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 30 March 2009 - 07:11 PM

I try that :

struct DECLSPEC_UUID("BF9E04D9-1C43-453e-BD39-86D39CB63DBC") IMSNMsgrLock : IMSNMsgrObject
{
public:
	virtual HRESULT RequestChallenge(long lCookie);
	
};


IMSNMsgrLock * msnlock = 0;


int APIENTRY WinMain(HINSTANCE hInstance,
					 HINSTANCE hPrevInstance,
					 LPSTR	 lpCmdLine,
					 int	   nCmdShow)
{


	hr = CoCreateInstance(CLSID_MSNMsgrObject,0,CLSCTX_LOCAL_SERVER,__uuidof(IMSNMsgrLock
),(LPVOID*)&msnlock);
	if (FAILED(hr))
	{
		MessageBox(0,"Failed to create a instance of the MSNMsgrObject class","Error",MB_OK|MB_IConerror);
		CoUninitialize();
		return -1;
	}

	long test_result = msnlock->RequestChallenge(12345);



}




But ... it will crash .. ( access violation ) ( When Requestchallenge is launch)

This post has been edited by TheSteve: 31 March 2009 - 12:16 AM

0

#13 User is offline   TheSteve

  • The Man from Japan
  • Icon
  • Group: Moderators
  • Posts: 1,813
  • Joined: 07-May 05
  • Location:Fukuoka, Japan
  • Interests:Computer Programming

Posted 31 March 2009 - 12:41 AM

You have a few problems here.

Problems:
1. You never called CoInitialize. (I will assume you cut that out to make it shorter.)
2. You need a window for a single threaded COM program to work. (same as above)
3. The IID for IMSNMsgrLock is correct, but the definition is not correct.
3a. IMSNMsgrLock does not inherit from IMSNMsgrObject, it inherits from IUnknown.
3b. IMSNMsgrLock has three functions. The order in which they are defined and their call type matters.
typedef enum LockStatus
{
	LOCK_NOTINITIALIZED = 1,
	LOCK_INITIALIZED = 2,
	LOCK_PENDINGRESULT = 3,
	LOCK_UNLOCKED = 4,
	LOCK_UNLOCKFAILED = 5,
	LOCK_DISABLED = 6
};

struct DECLSPEC_UUID("BF9E04D9-1C43-453e-BD39-86D39CB63DBC") IMSNMsgrLock : IUnknown 
{
	virtual HRESULT _stdcall Status(LockStatus* peStatus);
	virtual HRESULT _stdcall RequestChallenge(long lCookie);
	virtual HRESULT _stdcall SendResponse(BSTR bstrAppStrId, BSTR bstrResponse, long lCookie);
};

4. You should create the IMSNMsgrObject first, then use QueryInterface to get IMSNMsgrLock for this specific object. If you use CoCreateInstance again, it won't work.
5. Don't forget to release objects when you're done with them.
0

#14 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 31 March 2009 - 09:35 AM

I try (the file in attachment) ...


I use QueryInterface on the Msn object ... and then i launch RequestChallenge .. the function will not crash , but it return 0 , is it normal ?

Attached File(s)


0

#15 User is offline   TheSteve

  • The Man from Japan
  • Icon
  • Group: Moderators
  • Posts: 1,813
  • Joined: 07-May 05
  • Location:Fukuoka, Japan
  • Interests:Computer Programming

Posted 01 April 2009 - 04:41 AM

View Postduchnoun, on Mar 31 2009, 06:35 PM, said:

and then i launch RequestChallenge .. the function will not crash , but it return 0 , is it normal ?

Yes, that is normal. S_OK == 0

Of course by calling RequestChallenge, all that will happen is messenger will attempt to challenge you. But you're not handling events at all, so you need to do that first.
0

#16 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 01 April 2009 - 09:19 AM

okay , i'm on the good way :-) i continue :rock:
0

#17 User is offline   duchnoun

  • Nudging is fun!
  • PipPip
  • Group: Members
  • Posts: 16
  • Joined: 27-March 09

Posted 01 April 2009 - 09:29 AM

I read on microsoft's website :

"Important IMsgrLock is no longer available in Windows Vista. See Windows Messenger for more information."


How we can unlock on Windows vista ?
0

#18 User is offline   TheSteve

  • The Man from Japan
  • Icon
  • Group: Moderators
  • Posts: 1,813
  • Joined: 07-May 05
  • Location:Fukuoka, Japan
  • Interests:Computer Programming

Posted 01 April 2009 - 02:17 PM

IMsgrLock is not the same as IMSNMsgrLock.

IMsgrLock is for Windows Messenger (not part of Vista).
IMSNMsgrLock is used in Windows Live Messenger (can be installed on Vista).
0

#19 User is offline   Doggie

  • I'm Watching You -_-'
  • Icon
  • Group: Admins
  • Posts: 5,334
  • Joined: 04-February 02
  • Gender:Male
  • Location:Australia
  • Interests:Things that are interesting?

Posted 02 April 2009 - 12:07 PM

View PostTheSteve, on Mar 30 2009, 12:44 PM, said:

Here's a Visual C++ 6 example project I whipped up for you.

Loaded that up in C++ 2005, works nicely :)
0

#20 User is offline   TheSteve

  • The Man from Japan
  • Icon
  • Group: Moderators
  • Posts: 1,813
  • Joined: 07-May 05
  • Location:Fukuoka, Japan
  • Interests:Computer Programming

Posted 03 April 2009 - 03:34 AM

View PostDoggie, on Apr 2 2009, 09:07 PM, said:

Loaded that up in C++ 2005, works nicely :)

Yeah, It's written in straight Win32 code. Should work with VS 2005 express. (I normally use MFC which is not included in the express edition.)
0

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users