I have added the CPUID info in the about box and added disk space information on the edit menu but the main change is a blue toolbar interface that is tested on win2000, XP, Vista and Win7 interfaces and it seems to work OK on all of them. The resolution loss is converting the toolbar RGB/a image down to 256 color is nearly tragic but it works OK and should not offend anyone.
NOTE : The attachment has been replaced.
Looks cute :U
EDIT: About box works fine under Win XP
On my Windows 2000 system attempting to bring up the About box triggers an access violation exception.
State Dump for Thread Id 0x39c
eax=004b1698 ebx=00000000 ecx=00130134 edx=00480650 esi=00000000 edi=00000110
eip=77e28ce8 esp=0012f1a8 ebp=0012f1c8 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00200202
function: CharPrevW
77e28cc9 57 push edi
77e28cca ff7508 push dword ptr [ebp+0x8] ss:00ba90ae=????????
77e28ccd 50 push eax
77e28cce e869170100 call SetWindowPlacement+0x36 (77e3a43c)
77e28cd3 8b4d08 mov ecx,[ebp+0x8] ss:00ba90ae=????????
77e28cd6 b201 mov dl,0x1
77e28cd8 8945fc mov [ebp+0xfc],eax ss:00ba90ae=????????
77e28cdb e8b0180300 call CopyRect+0x1429 (77e5a590)
77e28ce0 85c0 test eax,eax
77e28ce2 0f84d5060000 je CharPrevW+0xadd (77e293bd)
FAULT ->77e28ce8 f6432bc0 test byte ptr [ebx+0x2b],0xc0 ds:00a79ee6=??
77e28cec 0f85cb060000 jne CharPrevW+0xadd (77e293bd)
77e28cf2 83ff2f cmp edi,0x2f
77e28cf5 b910010000 mov ecx,0x110
77e28cfa ba38010000 mov edx,0x138
77e28cff 0f87c2060000 jnbe CharPrevW+0xae7 (77e293c7)
77e28d05 83ff2e cmp edi,0x2e
77e28d08 0f83af060000 jnb CharPrevW+0xadd (77e293bd)
77e28d0e 83ff19 cmp edi,0x19
77e28d11 0f84d2060000 je CharPrevW+0xb09 (77e293e9)
77e28d17 837dfc00 cmp dword ptr [ebp+0xfc],0x0 ss:00ba90ae=????????
77e28d1b 0f85e6050000 jne CharPrevW+0xa27 (77e29307)
*----> Stack Back Trace <----*
FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
0012F1C8 77E162FA 00130134 00000110 00060176 00000000 user32!CharPrevW
0012F1F8 77E29DA0 004B1698 00000110 00060176 00000000 user32!IsWindowVisible
0012F2B0 77E44300 00400000 00000008 00000000 004B1698 user32!CharPrevW
0012F2E0 77E38D37 00400000 00417D40 00000000 004089AE user32!CheckRadioButton
0012F300 77E3EDE7 00400000 00417D40 000C0150 004089AE user32!DialogBoxIndirectParamAorW
0012F32C 004080CA 00400000 00001F40 000C0150 004089AE user32!DialogBoxParamA
0012FA08 77E3A454 000C0150 00000111 0000044B 00000000 !<nosymbols>
0012FA28 77E14605 00407283 000C0150 00000111 0000044B user32!SetWindowPlacement
0012FAB4 77E15B77 0012FACC 00000001 00405899 0012FACC user32!TranslateMessageEx
0012FAF0 00407196 6D5C3A44 336D7361 656D5C32 2E73756E user32!DispatchMessageA
0012FFBC 00406DDC 7C5989D5 00000000 00000000 7FFDF000 !<nosymbols>
0012FFF0 00000000 00406D7F 00000000 000000C8 00000100 !<nosymbols>
Thanks,
I can duplicate it here. Funny I tested the hell out of the algos before I put them into QE and they all work correctly on Win2k. Will fix !
LATER: OK, the deed is done, all of the CPUID code was working OK, stack balanced etc ... yet it trashed something after the CPUID procedures so I wrapped the CPUID code calls in,
pushad
pushfd
; procedure calls
popfd
popad
And all is well. I don't know if its something peculiar to Win2000 or the PIV running it but preserving all of the registers and the flags appear to have fixed the problem.
That fixed it for me.
Hi Hutch,
It works fine on my XP SP3 system. Thanks for the update.