Avatar utilizator
Troublesome
Developer
Developer
  • Mesaje: 45
    Membru din: 05 Oct 2024, 15:59
  • Reacții: 606
  • Mesaje utile: 1
  • Status: $ rm -rf /stress 🗑️
  • Regat: Shinsoo
  • [ID Discord]
  • Medalii

    Avatar utilizator
    Troublesome
    Developer
    Developer


    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    Avatar utilizator
    sub7
    Membru Ucenic
    Membru Ucenic
  • Mesaje: 17
    Membru din: 11 Ian 2025, 23:13
  • Reacții: 22
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Chunjo
  • Medalii

    Avatar utilizator
    sub7
    Membru Ucenic
    Membru Ucenic

    Mesaj

    Daca va scoate din client va las un fix:
    inlocuiti
    Code:
    const BOOL result = GetMessage(&msg, NULL, 0, 0);
    cu
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.
    Avatar utilizator
    essex
    Utilizator interzis
    Utilizator interzis
  • Mesaje: 33
    Membru din: 01 Oct 2024, 09:48
  • Reacții: 193
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
    Server: Prodomo
  • Regat: Shinsoo
  • [ID Discord]
  • Avatar utilizator
    essex
    Utilizator interzis
    Utilizator interzis

    Mesaj

    Există o mică problemă în codul pe care tu l-ai postat. Există diferite versiuni de limbă română cum ar fi legacy sau moldova, care au hex-uri diferite pentru diacritice în special Ș si Ț, un unicode diferit în funcție de layout-ul folosit. Postez mai jos codul complet, pentru orice tip de keyboard layout folosit


    Code:
    bool CMSApplication::MessageProcess()
    {
    	MSG msg;
    
    	const BOOL result = GetMessage(&msg, NULL, 0, 0);
    	if (result <= 0)
    		return false;
    
    	if (msg.message == WM_KEYDOWN)
    	{
    		HKL hklCurrent = GetKeyboardLayout(0);
    		WORD langId = LOWORD((DWORD_PTR)hklCurrent);
    		if ((langId & 0x3FF) == 0x18)
    		{
    			BYTE abKeyState[256];
    			if (GetKeyboardState(abKeyState))
    			{
    				WCHAR awBuffer[4] = { 0, };
    				BYTE bScanCode = (BYTE)((msg.lParam >> 16) & 0xFF);
    				int iRet = ToUnicodeEx((UINT)msg.wParam, bScanCode, abKeyState, awBuffer, 4, 0, hklCurrent);
    				if (iRet == 1)
    				{
    					WCHAR wCorrected = 0;
    					switch (awBuffer[0])
    					{
    					case 0x0219: wCorrected = 0x015F; break;
    					case 0x021B: wCorrected = 0x0163; break;
    					case 0x0218: wCorrected = 0x015E; break;
    					case 0x021A: wCorrected = 0x0162; break;
    					}
    					if (wCorrected != 0)
    					{
    						char cAnsi = 0;
    						if (WideCharToMultiByte(1250, 0, &wCorrected, 1, &cAnsi, 1, NULL, NULL) > 0)
    						{
    							PostMessage(msg.hwnd, WM_CHAR, (WPARAM)(BYTE)cAnsi, msg.lParam);
    							DispatchMessage(&msg);
    							return true;
    						}
    					}
    				}
    			}
    		}
    	}
    
    	TranslateMessage(&msg);
    	DispatchMessage(&msg);
    	return true;
    }
    Avatar utilizator
    Troublesome
    Developer
    Developer
  • Mesaje: 45
    Membru din: 05 Oct 2024, 15:59
  • Reacții: 606
  • Mesaje utile: 1
  • Status: $ rm -rf /stress 🗑️
  • Regat: Shinsoo
  • [ID Discord]
  • Medalii

    Avatar utilizator
    Troublesome
    Developer
    Developer

    Mesaj

    essex scrie: ↑ Există o mică problemă în codul pe care tu l-ai postat. Există diferite versiuni de limbă română cum ar fi legacy sau moldova, care au hex-uri diferite pentru diacritice în special Ș si Ț, un unicode diferit în funcție de layout-ul folosit. Postez mai jos codul complet, pentru orice tip de keyboard layout folosit


    Code:
    bool CMSApplication::MessageProcess()
    {
    	MSG msg;
    
    	const BOOL result = GetMessage(&msg, NULL, 0, 0);
    	if (result <= 0)
    		return false;
    
    	if (msg.message == WM_KEYDOWN)
    	{
    		HKL hklCurrent = GetKeyboardLayout(0);
    		WORD langId = LOWORD((DWORD_PTR)hklCurrent);
    		if ((langId & 0x3FF) == 0x18)
    		{
    			BYTE abKeyState[256];
    			if (GetKeyboardState(abKeyState))
    			{
    				WCHAR awBuffer[4] = { 0, };
    				BYTE bScanCode = (BYTE)((msg.lParam >> 16) & 0xFF);
    				int iRet = ToUnicodeEx((UINT)msg.wParam, bScanCode, abKeyState, awBuffer, 4, 0, hklCurrent);
    				if (iRet == 1)
    				{
    					WCHAR wCorrected = 0;
    					switch (awBuffer[0])
    					{
    					case 0x0219: wCorrected = 0x015F; break;
    					case 0x021B: wCorrected = 0x0163; break;
    					case 0x0218: wCorrected = 0x015E; break;
    					case 0x021A: wCorrected = 0x0162; break;
    					}
    					if (wCorrected != 0)
    					{
    						char cAnsi = 0;
    						if (WideCharToMultiByte(1250, 0, &wCorrected, 1, &cAnsi, 1, NULL, NULL) > 0)
    						{
    							PostMessage(msg.hwnd, WM_CHAR, (WPARAM)(BYTE)cAnsi, msg.lParam);
    							DispatchMessage(&msg);
    							return true;
    						}
    					}
    				}
    			}
    		}
    	}
    
    	TranslateMessage(&msg);
    	DispatchMessage(&msg);
    	return true;
    }
    Daca ai tastatura pe legacy ar trebui sa le citeasca clientul fara modificarea de mai sus. Modificarea e fix pentru noua tastatura RO.
    Game scripting-ul este un hobby pentru mine. Nu este o obligație și nu sunt dator nimănui.
    See full signature

    Înapoi la “FIX-uri”

    Discord ID copiat: