Hi all,
I am trying to programm a tool which can get screenshots of the whole PDA screen. With GetDesktopWindow() from coredll.dll I get just the desktop without the upper Taskbar. How can I get the handle to the taskbar, or a handle to the complete screen?
When I try to save an Image with an extension other than bmp via:
Code:
Image screenie = Screeniefunction();
screenie.Save(Filename, System.Drawing.Imaging.ImageFormat.Jpeg);
I'll get a "NotsupportedException". What do I have to do to save an image in formats like png, jpg or gif?
Thanks,
Dirk
Related
Hey guys, I've been playing around with 2003SE trying to figure out how to change the bootsplash, and this is what I've found so far.
I executed the following command:
Code:
pmemdump.exe 0x80000000 0x2000000 rom.raw
This should have dumped the entire ROM, as documented here:
http://www.xs4all.nl/~itsme/projects/xda/wince-rom-layout.html
I then opened the file rom.raw using IrfanView with the following options:
Image Width=240, Image height=70000, Header size=0, 16 BPP, NO Vertical flip.
And I was able to see an image that resembled the bootsplash near the top, but it was distorted. However, about a quarter of the way down I see the "Welcome to T-Mobile" logo in 320x240 perfectly.
It looks like the distorted bootsplash image is repeated twice when I open it in this format, so I tried opening the file with a width of 120 pixels, but it was still distorted. I've tried opening the raw file with all of the combinations I can think of, but none show the bootsplash clearly.
Any ideas of how we can determine it's starting byte position and format?
WM2003SE Bootsplash Address and Format Found
The bootsplash for the available WM2003SE rom is stored at 0x800417e0, and is only 76800 bytes long. Extract it from the rom using the following command:
Code:
pmemdump 0x800417e0 76800 bootsplash.raw
Open it as a 320x240 raw file with 8 bits per pixel (grayscale?) no header.
I have attached the bootsplash.raw file below, but had to change extension to .txt for uploading.
I'm unable to write a new bootsplash since pnewbmp doesn't support this offset, and pnewbootloader has other complaints using this offset.
There may be some color information in the 8 bits per pixel.
What we need now:
1.) Someone that knows more about graphic formats to investigate if the bootsplash has color information.
2.) A modified version of the pnewbmp.exe file from http://www.xs4all.nl/~itsme/projects/xda/tools.html that supports the new offset. (Ideally, modify it so it can be used for any offset).
Shawn
Are u sure?
old files had been twice big (153600 Byte)
Have you tried this size?
You shoud be able to run
Code:
pnewbmp -o 0x800417e0 filename
The file you've upladed doesn't look complete.....
Stefan
The T-Mobile ROm you´ve found is added by the kitchen.
Until now it´s not possible to cook a ROM without the splashscreen. So it´s added at the 0x80780000 position.
Has nothing to do with the real splash screen....
Stefan
Fairly Certain
old files had been twice big (153600 Byte)
Click to expand...
Click to collapse
Stefan,
You're absolutely right, it is definitely different than previous bootsplash formats. If I'm right, it's half the size because it uses 8 bits per pixel instead of 16 bits per pixel, as before. I believe that means it must use a standard 256 color table. We just need to know which standardized color table it uses (Windows System?), and find graphics software that will open bitmaps without headers.
Have you tried this size?
Click to expand...
Click to collapse
I've tried dumping the old file size, but it is just garbage after 76800 bytes. Perhaps they switched to this format to save memory.
The T-Mobile ROm you´ve found is added by the kitchen.
Click to expand...
Click to collapse
That's good to know. I thought that was the real bootsplash, and there was some switch in the code for this version of the ROM to point the bootsplash image to a temporary image that we are seeing. Let me illustrate with code:
Code:
Internal_Rom = True;
...
If (Internal_Rom==True)
Bootsplash_start_byte=0x800417e0;
else
Bootsplash_start_byte=0x80780000;
But since that's not the case, we don't need to worry about tracking down that switch.
I've tried using pnewbmp with the offset option, but I'm getting an error reading the bitmap. I've tried appending the original ROM data after my custom bootsplash (when necessary) to create files of sizes 76800, 151672, and 153600, but I still received the error so I don't think it is a problem with the file size, but it may not recognize the format. (pnewbmp appears to be trying to read the size 0x25800=153600, so that file size should have worked if it were a file size issue)
So, here's a theory of how to make a bootsplash for this new ROM format:
1. Create your image in RGB 320x240.
2. Change Image Mode to 8 bits/channel, and Indexed Color using the Palette "System (Windows)" (?).
3. Save your file in RAW format (Uncheck Alpha Channels), 0 Header
Resulting File Size=76800.
Now I just need to test this theory using a program that will allow me to write an arbitrary number of bytes to an arbitrary byte offset in the ROM.
Shawn
It works!
I'm getting ready to sell my Wallaby (replaced with PPC-6700), so I gave my (old) theory a try, and it worked!
I executed the following commands:
Code:
pmemdump.exe 0x80000000 0x417e0 one.raw
pmemdump.exe 0x800543E0 0x1FABC20 three.raw
I opened one.raw, three.raw, my new bootsplash raw image (described above), and an example NK.nbf file in a hex editor (PSPad). I appended the first two lines from NK.nbf to one.raw. They look like this:
PW10B1-ENG-3.16-000-aa9a--------
Click to expand...
Click to collapse
I then appended my new bootsplash image to the end of one.raw, then appended three.raw to the end of one.raw. I then saved this file as NK.nbf and replaced the default NK.nbf for the installer built at LumpiStefan's site.
When I ran the installer, it complained that aa9a wasn't the correct checksum, but it went through anyway, and works fine. The only problem is I can't control colors, since I don't know what color pallet it uses. The closest match is Mac OS. Until that gets figured out, it's best to just use a black & white image.
I finally created my own splash screens. But for some reason when I flash is to my phone there is a white line at the bottom of both splashes. Could someone explain how to fix this. See my pictures below.(sorry there not the greatest)
sorry i dont know how to fix the line, but how did you create the screens in the first place? is there a guide to it? if you point me that way i could probably help you troubleshoot
here is what i did
1. Install HardSPL.
2. Create a BMP file in paint, size must be 240x320, save it as BMP 24bit.
3. Download SplashTool
4. Load your BMP on nb_image_converter (included in SplashTool's zip) and save it as splash.nb
5. Open SplashTool.exe and convert splash.nb to new format.
6. Pack the resulting splash.nb into a NBH file using htc rom tool.
7. Flash your cusotm NBH using CustomRUU.
http://forum.xda-developers.com/showthread.php?t=334907&highlight=splash+screens
im baffled as to what went wrong
this line, on bottom, is version information for rom/radio/etc.
you can no delete this. so, make your background to your custom bmp white in color, so then you background will blend to this "bar"
sorry about my poor english
hiromitsu
Know anybody the way to use alpha-channel bmp (transparency) for window "wait" icon? It "lives" in shellres.192.dll (96), bitmaps 4896-4911.
...or use ico instead bmp images. Need to hex edit any file? Which one?
Stupid square icon already touch me.
Unfortunately there is no way to do it with shellres.192.dll.
But you can chech my application that replaces the standard WM cursor handler (shellres) supporting PNG with transparency.
This is MWC2.2 (the latest available version): http://forum.xda-developers.com/showthread.php?t=383161
And this is the preview of MWC3 which is about to be released: http://forum.xda-developers.com/showthread.php?t=469504
Marshall
Thanks a lot!
Going to try.
My png image files won't show up on a panel I made. If I use a png file already in windows from another plugin, it shows up on my panel. If I try to use mine, I get the red X all the time. Does this mean the png file is not the right type? What does the .png image have to be like to be supported by Titanium? Mine is 32x32.
i have an APICAL GPS
youtube[dot]com/watch?v=urX3rERYZf4
running the same menu as this one
youtube[dot]com/watch?v=wS37diJR0Q0
it has two skins
one has a "Mini Cooper" car with flashing spotlights
the other menu skin has a simpler green theme
i want to create green-themed matching power-on splash and iGoPrimo splash bitmaps
I think the green-themed menu BMPs are contained in
\ResidentFlash2\bin\Main\Main_Skin2.bin
.. this is in the attached Main_Skin2.zip file (also includes TotalConfig .ini's)
but i do not know how to extract them, i have tried many unarchivers, i think they use LZMA, as this is a common header in many of the Apical menu .bin files
the menu system is controlled by a program called "TotalConfig", but i have not been able to find any information on this on the www
does any one know how to extract these BMPs or have any information on the Apical/TotalConfig menu system
thanks in advance from New Zealand
the 800x480 menu files i am looking for are
residentflash2-bin-Main-Fore2-*.bmp
residentflash2-bin-Main-Animate2-*.bmp
residentflash2-bin-Main-MainLayer2-*.bmp
and maybe any *.ini file relating to GPSAni*.bmp
mine are all archived into a single *.bin file, but in earlier versions they are separate files in separate folders ... these files will give me enough menu elements to make some matching splash screens .... i don't need to modify the apical menu itself
antdavison said:
... these files will give me enough menu elements to make some matching splash screens .... i don't need to modify the apical menu itself
Click to expand...
Click to collapse
Why not simply search the WEB? Many icon-sets around, from which you can pick out those "menu elements" which match your needs.
Herr.J
have figured this out
need a tool called Apical IMaGe DECoder by SiL (AIDEC.zip) (attached)
find an appropriate firmware package
run the command
AIDEC.EXE winCEapp.img
and residentFlash2 files are written to a folder named 'winCEapp_out' which AIDEC creates
that has given me all the BMP elements to create 'power-on' * and 'primo' splash screens ** that match the green-theme menu#2 stored in residentFlash2
now, as the GPS changes states from bootup > (menu >) Primo > menu, all the backgrounds are the same and other elements match
... pity the Apical menus are sooooo ugly, and the Apical AtlasVI menus are partially locked up, but extracting some AtlasV winCEapp.img firmware gave me all the menu bitmap elements i needed, along with every other file that would be written to residentFlash2 if that firmware were to be installed
danke, Ant
notes
====
* static logo.bmp or <2MB animated logo.gif copied to microSD / SDMMC; automatically updates boot splash screen logo if 'logo.bmp' or 'logo.gif' is present on microSD, and microSD is inserted in GPS before power up; after automatically updating splash screen logo, power off GPS, remove microSD, and restart GPS
this worked for my particular GPS******, yours could be different, see 4pna[dot]com/showthread.php?t=5903
** NandDisk\Primo\branding.zip\ui_igo9\800_480\loading.bmp + \skin_night\loading.bmp *** **** *****
*** i use winRAR 4.01 rather than 7z or WinZip, resulting in uncorrupted Primo friendly ZIPs
**** use iPAQ tools attached to optionally compress 'loading.bmp' from uncompressed (1.2MB) to primo friendly rleBMP (70kB)
***** add the lines like the ones below to primo's SYS.TXT, to alter the default position of the splash screen loading_progressBar (or alter similar lines in NandFlash\Primo\data.zip\ui_igo9\800_480\skincfg.ini)
[loading]
progressbar_x=160
progressbar_y=308
progressbar_end_x=160
progressbar_end_y=308
****** gps is
aliexpress[dot]com/store/product/New-arrival-SirF-Atlas-VI-Dual-core-800MHz-5-inch-GPS-Navigation-DDR3-256MB-8GB-Bluetooth/312906_532878501.html
Congrats.
antdavison said:
Herr.J
run the command
AIDEC.EXE winCEapp.img
Click to expand...
Click to collapse
This file return Error when unziping, upload pleasse again, i need it.
Geo42G
spkprs said:
This file return Error when unziping, upload pleasse again, i need it.
Geo42G
Click to expand...
Click to collapse
source if these zips are bad replace "[dot]" with "."
as i am a junior here, i can't post hyperlinks
be quick, files will expire from the below link soon
sendfile[dot]su/633127
s1[dot]sendfile[dot]su/download/633127/oL7StdU9KdaXmOV4NHQSkkEovnrryIInQFpGqMB2
Name AIDEC.ZIP
Size 2.26KB (2314B)
MD5 a62247f67b7504f7159fcabfa4f4963d
Downloaded 179 times
Filled 2012-07-17 20:49:07
Exp. 07/03/2014 2:16:42
Thank you i got it!!
I do not know the features of your device,
but I'll send link's for Apical and perhaps with translation
find some firmware and menu that suits you the most.
antdavison said:
ugly-but-working-first-experiment-apical-animated-bootup---logo.gif[/I]
Click to expand...
Click to collapse
Good job !
I know this is a old topic... but how do you compress the images back to the bin file after modifying the images ? and then back to the img..?
i didn't, i made an animated GIF from the menu elements, and used that as the boot image, instead of the pre-existing single image BMP.
Just put the animated GIF on a empty micro-SD card, call it logo.gif, boot up the GPS with the micro-SD card inserted, and the animated GIF will be copied automatically to the GPS and become the new boot screen ... ie the boot picture is not included in the .bin/.img