FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Tablet and form style for Windows 8 (desktop ver.)
Posts: 174
Joined: Sat Feb 23, 2013 10:04 AM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Thu Feb 28, 2013 12:48 PM
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Thu Feb 28, 2013 04:39 PM
Antonio,

Thats a real cool hack! :-)

I copy it here because it is awesome that Microsoft left opened such security hole, and we can do great things with it!

[HACK] Using complete Windows API in Windows Store app (c++)
As we know, MS prohibits using most of standard Win32 API in Windows Store applications. Obviously there are lots of ways to overcome this limit and to call any API you like, if you are not going to publish your app on Windows Store. And here is one of them.
Idea is really simple and rather old (lots of viruses use it): search for kernel32.dll base in memory, then parse its exports for LoadLibraryA and GetProcAddress, call them - and get profit.


Code (fw): Select all Collapse
void DoThings()
{
    char *Tmp=(char*)GetTickCount64;
    Tmp=(char*)((~0xFFF)&(DWORD_PTR)Tmp);

    while(Tmp)
    {
        __try 
        {
            if(Tmp[0]=='M' && Tmp[1]=='Z')
                break;
        } __except(EXCEPTION_EXECUTE_HANDLER)
        {
        }
        Tmp-=0x1000;
    }

    if(Tmp==0)
        return;

    LoadLibraryA=(t_LLA*)PeGetProcAddressA(Tmp,"LoadLibraryA");
    GetProcAddressA=(t_GPA*)PeGetProcAddressA(Tmp,"GetProcAddress");
    CreateProcessA=(t_CPA*)PeGetProcAddressA(Tmp,"CreateProcessA");

    HMODULE hUser=LoadLibraryA("user32.dll");
    MessageBoxA=(t_MBA*)GetProcAddressA(hUser,"MessageBoxA");
    MessageBoxA(0,"A native MessageBox!","Test",MB_OK);

    STARTUPINFO si;
    memset(&si,0,sizeof(si));
    si.cb=sizeof(si);

    PROCESS_INFORMATION pi;
    
    CreateProcessA("c:\\Windows\\system32\\cmd.exe",0,0,0,FALSE,0,0,0,&si,&pi);
}
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 174
Joined: Sat Feb 23, 2013 10:04 AM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Fri Mar 01, 2013 11:25 AM

Hi,

On W8, we must to use ShellExecute() function. Run command or WinExec function not allways running.

Regards.

Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Fri Mar 01, 2013 12:12 PM

Hello Antonio,
I do not know anything about hacks. But is this not dangerous that with a new update a hack does not work any longer.
We used xP unlimited. Now this product is no longer available because of license problems. Is this not similar to hacking.
I think to spend energy to hack is not worth. But this is only my opinion and from the point of view of a company.
Best regards,
Otto

Posts: 174
Joined: Sat Feb 23, 2013 10:04 AM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Fri Mar 01, 2013 12:56 PM

Hi,

I am Antonio Mart.

I think it is better than nothing. That if the hacking is easy to do, you have to try. I wish my Win32 programs work on Win8 RT, in my tablets do not need to update the operating system.

Regards.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Fri Mar 01, 2013 02:00 PM

Otto,

Yes, you are right, hacks are dangerous as they can get fixed. Anyhow, to me, its quite amazing that Microsoft left it opened, and I think that they will close it for sure :-)

But in the meantime, it is there and can be used, if needed :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 174
Joined: Sat Feb 23, 2013 10:04 AM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Mon Mar 04, 2013 02:32 PM
Hi,

Calling to new Windows 8 virtual keyboard from fwh:
Code (fw): Select all Collapse
ShellExecute(, "open", "TabTip.Exe")


Regards
Posts: 174
Joined: Sat Feb 23, 2013 10:04 AM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Mon Mar 04, 2013 07:41 PM

Hi,

How to Change Scrollbar Width Size in Windows 8 ?

Answer: http://www.eightforums.com/tutorials/78 ... s-8-a.html

Regards.

Posts: 174
Joined: Sat Feb 23, 2013 10:04 AM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Thu Mar 07, 2013 02:13 PM

Hi Antonio,

WinRT Api from Windows 8 Desktop ?
How to call WinRT APIs from .NET desktop apps ?

http://www.codeproject.com/Articles/457 ... sktop-apps

Regards

Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Thu Mar 07, 2013 06:57 PM
Antonio,
thank you this is working fine.
Best regards,
Otto



Posts: 174
Joined: Sat Feb 23, 2013 10:04 AM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Thu Mar 07, 2013 07:41 PM

Otto,

Very nice both pictures. Congratulations !

Regards

Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Thu Mar 07, 2013 08:02 PM
Hello Antonio,
I tried to get/set the values with a FW program.
But
RegSetValue( hKey, "ScrollHeightn" ,-500 )
RegQueryValue( hKey, "ScrollHeight" , @uValue )
in my case does not work.

RegEnumValue is working fine.
Do you know a solution.
Best regards,
Otto

Code (fw): Select all Collapse
#define  HKEY_CURRENT_USER       2147483649
#define  ERROR_SUCCESS                    0

//---------------------------------------------------------------------------//
//HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\ScrollHeight

function Main()

    local hKey := NIL
    local cName := NIL
    local uValue := NIL
    local n := 0
   *----------------------------------------------------------

    
    logfile   (  "regestry.log",  { "HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics  " })
    
    RegOpenKey( HKEY_CURRENT_USER,;
     "Control Panel\Desktop\WindowMetrics", @hKey ) 

   while RegEnumValue( hKey, n++, @cName, @uValue ) == ERROR_SUCCESS
        logfile   (  "regestry.log",  { n ,"Name   ", cName,  "   Value   ", uValue })
      
   end
    RegSetValue( hKey, "ScrollHeightn" ,-500 ) 
    RegQueryValue( hKey, "ScrollHeight" , @uValue )
 
    msginfo( uValue )
    
    RegCloseKey( hKey )
   
   msginfo( procname() + "   " + str(procline()) + "   " + str( 1 ) )
   

return nil

//---------------------------------------------------------------------------//
Posts: 174
Joined: Sat Feb 23, 2013 10:04 AM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Fri Mar 08, 2013 08:21 AM

Otto,

I also tried it myself, but it did not work.
Perhaps the problem is this: http://www.dedoimedo.com/computers/policies.html

regards

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Fri Mar 08, 2013 10:13 AM

Otto,

That may be blocked by the operating system for security reasons and need to have (admin?) permission to do it

Windows has been improving the security in recent Windows versions

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Tablet and form style for Windows 8 (desktop ver.)
Posted: Fri Mar 08, 2013 12:13 PM

Hello Antonio,
thank you. I have admin rights.
RegEnumValue reports all the values fine but
RegQueryValue( hKey, "ScrollHeight" , @uValue )
returns "Ff".
Best regards,
Otto