Depois de queimar pestanas eis aqui a minha solução:
//
// SDK para QRCode
// Proposito: Gerar código modelo QR para uso em aplicativos diversos
// Necessário: QRCodeLib.dll
// Linguagem: Foi utilizada Harbour, mas pode ser portada a qualquer outra.
// Data: 7 de Dezembro de 2014
// Autor: Jose Carlos da Rocha - Rochinha
//
#define ForFivewin
#IFDEF ForFivewin
#include "fivewin.ch"
#ENDIF
// Niveis de Correcao(correctionLevel)
#define LEVEL_L 0 // 7%
#define LEVEL_M 1 // 15%
#define LEVEL_Q 2 // 25%
#define LEVEL_H 3 // 30%
// Nivel de codificacao(encoding)
#define ENC_ALPHA 0 // encodes alphanumeric characters (digits 0 - 9; upper case letters A -Z; nine other characters: space, $ % * + - . / : ); )
#define ENC_BYTE 1 // encodes binary values ( 8-bit data)
#define ENC_NUMERIC 2 // encodes numeric values only (digits 0-9)
#define ENC_KANJI 3 // encodes Kanji characters. Kanji characters in QR Code can have values 8140 -9FFC and E040 - EBBF
#define ENC_AUTO 4 // automatic seleccion of the encoding algorithm
#IFDEF ForFivewin
//----------------------------------------------------------------------------//
// Copyright FiveTech 1993-2011
#ifndef _C_TYPES
#define _C_TYPES
#define VOID 0
#define BYTE 1
#define CHAR 2
#define WORD 3
#define _INT 7
#define BOOL 5
#define BOOLEAN 5
#define HDC 6
#define LONG 7
#define STRING 8
#define LPSTR 9
#define PTR 10
#define _DOUBLE 11 // conflicts with BORDER DOUBLE
#define DWORD 12
#endif
#translate NOREF([@]<x>) => <x>
#xcommand DLL32 [<static:STATIC>] FUNCTION <FuncName>( [ <uParam1> AS <type1> ] ;
[, <uParamN> AS <typeN> ] ) ;
AS <return> [<pascal:PASCAL>] [ FROM <SymName> ] LIB <*DllName*> ;
=> ;
[<static>] function <FuncName>( [NOREF(<uParam1>)] [,NOREF(<uParamN>)] ) ;;
local _hDLL := If( ValType( <DllName> ) == "N", <DllName>, LoadLib32( <(DllName)> ) ) ;;
local uResult ;;
local cFarProc ;;
if Abs( _hDLL ) <= 32 ;;
MsgAlert( "Error code: " + LTrim( Str( _hDLL ) ) + " loading " + <DllName> ) ;;
else ;;
cFarProc = GetProc32( _hDLL,;
If( [ Empty( <SymName> ) == ] .t., <(FuncName)>, <SymName> ),;
[<.pascal.>], <return> [,<type1>] [,<typeN>] ) ;;
uResult = FWCallDLL32( cFarProc [,<uParam1>] [,<uParamN>] ) ;;
If( ValType( <DllName> ) == "N",, FreeLib32( _hDLL ) ) ;;
end ;;
return uResult
//----------------------------------------------------------------------------//
#ENDIF
FUNCTION Main()
hDLL = LoadLib32( "QRCodeLib.dll" )
Principal()
FreeLibrary( hDLL )
return nil
FUNCTION Principal()
LOCAL cStr, cFile
cStr:="http://www.5volution.com.br/mobile"
//cFile:=".\QRCode.bmp"
//FastQRCode(cStr,cFile)
cFile:=".\QRCodeF.bmp"
FullQRCode( .T., .F., nRGB(055,155,255), nRGB(0,0,0), cStr, LEVEL_M, ENC_AUTO, 5, 5, 300, 300, cFile )
RETURN NIL
#IFNDEF ForFivewin
FUNCTION FastQRCode( cStr, cFile )
#Define DC_CALL_STD 0x0020
LOCAL nResp
LOCAL qrDLL
qrDLL := LoadLibrary( "QRCodelib.Dll" )
nResp := CallDll( qrDLL, DC_CALL_STD, "FastQRCode", cStr, cFile )
FreeLibrary( qrDLL )
RETURN NIL
FUNCTION FullQRCode( cStr, cFile )
#Define DC_CALL_STD 0x0020
LOCAL nResp
LOCAL qrDLL
qrDLL := LoadLibrary( "QRCodelib.Dll" )
nResp := CallDll( qrDLL, DC_CALL_STD, "FullQRCode", autoConfigurate, AutoFit, backColor AS _INT, barColor, Texto, correctionLevel, encoding, marginpixels AS, moduleWidth, Height, Width, FileName )
FreeLibrary( qrDLL )
RETURN NIL
#ENDIF
#IFDEF ForFivewin
DLL32 Function QRCodeLibVer() AS LPSTR FROM "QRCodeLibVer" LIB hDLL
DLL32 Function FastQRCode( Texto AS LPSTR, FileName AS LPSTR ) AS LPSTR FROM "FastQRCode" LIB hDLL
DLL32 Function FullQRCode( autoConfigurate AS BOOL, AutoFit AS BOOL, ;
backColor AS _INT, barColor AS _INT, ;
Texto AS LPSTR, ;
correctionLevel AS _INT, ; // Pode ser Low, Medium, High e VeryHigh
encoding AS _INT, ;
marginpixels AS _INT, moduleWidth AS _INT, ;
Height AS _INT, Width AS _INT, ;
FileName AS LPSTR ) AS LPSTR FROM "FullQRCode" LIB hDLL
#ENDIF
FUNCTION nRGB( nRed, nGreen, nBlue )
RETURN ( nRed + ( nGreen * 256 ) + ( nBlue * 65536 ) )
Voce precisarão fazer download aqui.