Posts tagged ‘Windows’

Mobile Development: showFullScreen, a tool to change foreign windows attributes

Hello

attached is a small tool to alter foreign windows. You can show/hide, enable/disable and resize windows.

One example is to disable the taskbar window: showFullScreen -disable -class “HHTASKBAR”

How to launch

Here is a list of possible arguments:

Arguments:                default          meaning
-class                    ""               class name of window to change, optional
-title                    ""               title of window to change, optional
            at least -class or -title must be used to change a window

-fullscreen               false            make window fullscreen
-maximized                false            make window normal size

-show                     no change        make window visible
-hide                     no change        make window invisible

-enable                   no change        enable window
-disable                  no change        disable window

-list                    -                 list windows into file

Examples

And here some more examples for usage:

Enable IE6 soft menu button:    -class "IE6on6SoftKeyBar" -enable
Disable IE6 soft menu button:    -class "IE6on6SoftKeyBar" -disable

Enable taskbar:        -class "HHTASKBAR" -enable
Disable taskbar:    -class "HHTASKBAR" -disable

make win fullscreen: -class "WFIcaClient" -fullscreen

List windows (like remote spy does)

Please use -list argument, to get a list of running windows:

Continue reading ‘Mobile Development: showFullScreen, a tool to change foreign windows attributes’ »

Getting rid of obsolete Microsoft Windows Mobile Remote Adapter s

As a windows mobile programmer I have to fight with ActiveSync aka Windows Mobile Device Center. The newer WM devices come with enhanced network function via USB ActiveSync/WMDC and then each time a new device is connected, you will get a new Mobile Remote Adapter with a new number at the end.

First, I dont need any partnership and so I change my system to do GuestOnly connections with WMDC (Windows Mobile 7, 64Bit system).

OK, second annoyance is the awlays coming up WMDC or WMDC+Mobile Registration Wizard. These Popups can be avoided by changing the call to WMDC.exe to WMDCbase.exe. See also this post.

So, I can connect one of the several devices I have currently for development support (about 10-30) without annoying popups.

But then I found, that for each device and sometimes multiple times, Windows installs a new “Microsoft Windows Mobile Remote Adapter” in Device Manager. I found about 88 instances, where only ONE is needed. Before you can see the inactive adapters, you have to enable Show_Hidden_Devices. One way to show hidden devices is this []:

  1. Click Start, point to All Programs, point to Accessories, and then click Command Prompt.
  2. At a command prompt, type the following command , and then press ENTER:
    set devmgr_show_nonpresent_devices=1
  3. Type the following command a command prompt, and then press ENTER:
    start devmgmt.msc
  4. Troubleshoot the devices and drivers in Device Manager.

    NOTE: Click Show hidden devices on the View menu in Device Manager before you can see devices that are not connected to the computer.

  5. When you finish troubleshooting, close Device Manager.
  6. Type exit at the command prompt.

To remove the hidden, inactive Mobile Remote Instances, you can now right click on every instance, then click UnInstall and then [OK]. But for 88 instances, that is a bunch of clicking.

As programmer, I searched of a way to remove these instances programmatically. OK, I digged google and found DevCon, a tool to manage devices and instances from the command line. Unfortunately, I had to download a CD image of Windows WDK to get DevCon.exe. Then I found a site which described howto install DevCon only.

With the help of DevCon.exe, I produced a list of “Microsoft Windows Mobile Remote Adapter” instances, removed to not numbered one and then built a list of DevCon commands to remove the obsolete instances.

List all Windows Mobile Remote Adapters into a file:

devcon findall "USB\VID_067E&PID_1003&REV_0000" >wm_remote_adapters.txt

“USB\VID_067E&PID_1003&REV_0000” is the identifier for Windows Mobile Remote Adapter (you can find this by right clicking the instance in device manager and select properties).

USB\VID_067E&PID_1003\0040056A-0E9D-0801-0DE0-01130400682B  : Microsoft Windows Mobile Remote Adapter #59
USB\VID_067E&PID_1003\0040056A-0E9D-0801-1B10-010E04000801  : Microsoft Windows Mobile Remote Adapter #6
USB\VID_067E&PID_1003\0040056A-0E9D-0801-0B70-000E0400BA61  : Microsoft Windows Mobile Remote Adapter #24
USB\VID_067E&PID_1003\0040056A-0E9D-0801-1990-001104000E40  : Microsoft Windows Mobile Remote Adapter #77
USB\VID_067E&PID_1003\99461300-B56A-0801-DD17-0FBB99944738  : Microsoft Windows Mobile Remote Adapter #89
...

Then, in the list wm_remote_adapters.txt, I replaced all line starts etc and built this cmd list:

devcon.exe remove "@USB\VID_067E&PID_1003\0040056A-0E9D-0801-0590-010E0400A43B"
devcon.exe remove "@USB\VID_067E&PID_1003\99461300-B56A-0801-5AD3-B56444802FC3"
devcon.exe remove "@USB\VID_067E&PID_1003\99461300-B56A-0801-B87A-D1874E00C078"
devcon.exe remove "@USB\VID_067E&PID_1003\0040056A-0E9D-0801-1640-01100400B075"
...

Then I saved this cmd list as remove-adapters.cmd and started it from the command prompt. And, voila, all obsolete adapters are gone for now.

From time to time I have to rebuild the lists again to get rid of these many obsolete adapters.

Writing a tftp server windows service

For an actual project I needed a tftp server service for a Windows 2003 server. I looked around in internet and only found tftp servers running in user space, no real windows service. So I searched for source code applications I could use and found tftpUtil at sourceforge.net (http://sourceforge.net/projects/tftputil/). Although the short description states it would implement a service, it does not in reality. But the tftpUtil class was more or less easy to use and so I started to write a service ‘wrapper’ around it.

        protected override void OnStart(string[] args)
        {
            AddLog("OnStart entered...");
            StartTFTPServer();
...
        }

Continue reading ‘Writing a tftp server windows service’ »

Transmit data from WinMo device to PC: SocketWedge and SocketSend

Although you may find this combination useless, here is something that will transmit data from a Windows Mobile device to a PC and the PC will type (like a barcode scanner keyboard wedge) the transmitted data.

The workflow theory is:

  1. You scan a barcode or RFID TAG and the data is wedged into the SocketSend input textbox or you type some text into the textbox.
  2. You connect your mobile device to the network, where you have a Windows PC running SocketWedge.
  3. On the mobile within SocketSend you tap the transmit button and the data is send to SocketWedge.
  4. SocketWedge receives the data and puts it in the keyboard message queue of a defined application.
  5. The data is typed into the target application.

Continue reading ‘Transmit data from WinMo device to PC: SocketWedge and SocketSend’ »