[Windows Mobile Software Development] JVH3:
[EDITThis has not worked with the latest Raph Energy ROMs since around June or July or 2010[/EDIT]

I should have editted this a while back.

The cab HTC_VolumeCtl.cab should not be used, unless you don't want to use the DPad or the arrow keys.

I now just use LaunchHTCVolumeControl_1.0.CAB with Tarkim's key remapper and it works great.

--------------------------

Old stuff is below this.

LaunchHTCVolumeControl_1.0.CAB

Install the 2 cabs attached to this post.

Run the shortcut on the Start Menu.

It is something like Shortcut to LaunchHTCVolumeControl.lnk

Now the Volume buttons will launch the HTC Volume Control

If you copy that shortcut to Windows\Start Up

It will work most of the time.

1 time out of 15 soft resets, it launched the exe before the task bar was ready.

Thanks admaximum for posting the cab with the updated HTCVolumeControl.

I tranfered the cab from the post here: http://xdaforums.com/showpost.php?p=6129949&postcount=55

[EDIT]

I've learned alot on this since I started this thread.

I have made an app that launches the Volume Control by sending the Left Mouse Down / Left Mouse Up to show the taskbar.

And then it sends a message to the appropriate item.

I have learned through the process that some items may appear that are not easy to detect through the registry.

Notification Items show up here:

HKLM\System\State\Shell\Notifications

If it also exists here:

HKCU\ControlPanel\Notifications

Then it is being displayed.

But there are exceptions, such as blue tooth.

It is displayed, but is not there.

So, I added code to search a a registry section that I also added to detect this.

HKCU\Software\JVH3\LaunchHTCVolumeControl\Ignore

And I put the bluetooth code in as another key.

So now it is extendable, if other notification items are found.

Just add the key. The same way the key for bluetooth is done.

I agree that this is not the best way to launch the control, but currently, it is the only known reliable way with a Fuze using build 23541.

[/EDIT]

[ORIGINAL]

Help - HTCVolumeControl.dll - methods and parameters

See post 27 for a cab that installs an exe and shortcut to launch the volume control.

Just use a key remapper to attach to volume buttons.

I am trying to figure out how to launch the HTC Volume Control on my Fuze from C#.

I ran depends.exe on HTCVolumeControl.dll to find the methods:

VOL_Deinit

VOL_Init

VOL_Open

VOL_Close

VOL_IOControl

VOL_Read

VOL_Write

VOL_Seek

But, I have no idea what arguments they take, or what they output.

And I am not sure how to find this out.

I wrote a really small app in C# to create a windows mobile app to execute the methods.

I only tried with: VOL_Init, VOL_Open, VOL_IOControl

using System.Runtime.InteropServices;

[DllImport("HTCVolumeControl.dll")]

private static extern int VOL_Init();

[DllImport("HTCVolumeControl.dll")]

private static extern int VOL_Open();

[DllImport("HTCVolumeControl.dll")]

private static extern int VOL_IOControl();

When executing VOL_Init, it seems to do something. It makes it so the icon on the status bar will launch the Windows Mobile Volume Control instead of the HTC one and it displays a speaker icon, instead of the windows logo.

I also tried it with these import definitions:

[DllImport("HTCVolumeControl.dll")]

private static extern int VOL_Init(uint msg);

[DllImport("HTCVolumeControl.dll")]

private static extern int VOL_Open(uint msg);

[DllImport("HTCVolumeControl.dll")]

private static extern int VOL_IOControl(uint msg);

Either way I can't get the HTC Volume Control to launch by executing any of these methods.

Please help.

If we can get this to work, then any keymapper can launch the HTC Volume Control by launching an exe made like this.

Does anyone know what arguments these methods take?

And

Does anyone know what needs to be executed to start the control?

[/ORIGINAL]