Search found 16 matches

by Poplar
Mon Jun 25, 2018 2:03 pm
Forum: Coding Questions
Topic: isalpha function in C runtime library (MSVCRT.DLL)
Replies: 2
Views: 1095

isalpha function in C runtime library (MSVCRT.DLL)

Code: Select all

OpenLibrary(0, "msvcrt.dll")
isalpha = GetFunction(0, "isalpha")
CloseLibrary(0)

Debug CallCFunctionFast(isalpha, 'i')
[/color]
by Poplar
Sat May 26, 2018 2:17 am
Forum: Windows
Topic: wsprintf is missing
Replies: 2
Views: 3412

Re: wsprintf is missing

OpenConsole()
u32dll = OpenLibrary(#PB_Any, "user32.dll")
*f = GetFunction(u32dll, "wsprintfW")
CloseLibrary(u32dll)

szBuffer.s = Space(1024)
szFormat.s = "%-13s %3d %-15s%c%6u %4d %3s %3s %4s %4s"
szTemp1.s = "第一个字符串。"
szTemp2.s = "第二个字符串。"
szTemp3.s = "第三个字符串。"
szTemp4.s = "第四个字符串。"
szTemp5.s ...
by Poplar
Thu May 10, 2018 2:51 pm
Forum: Coding Questions
Topic: C Runtime Library & variable parameters
Replies: 25
Views: 11124

Re: C Runtime Library & variable parameters

Prototype sprintf(*a.p-Ascii, *b.p-Ascii, c.i, d.i, e.i)
OpenLibrary(0, "msvcrt.dll")
Global sprintf.sprintf = GetFunction(0, "sprintf")
CloseLibrary(0)

Global *Buffer = AllocateMemory(100)
Global *Format = Ascii("The sum of %i and %i is %i.")
sprintf(*Buffer, *Format, 5, 3, 5+3)
MessageBox_(#Null ...
by Poplar
Sun May 06, 2018 4:14 am
Forum: Windows
Topic: Positioning DOS window
Replies: 34
Views: 12612

Re: Positioning DOS window

Code updated For 5.62

RunProgram("edit.com")
DosWindowTitle$ = "C:\Windows\system32\edit.com"
Delay(2000)
hDosWin = FindWindow_("ConsoleWindowClass", DosWindowTitle$)
Debug hDosWin

SetWindowPos_(hDosWin, 0, 10, 100, 600,400, #SWP_SHOWWINDOW)

Delay(2000)
SendMessage_(hDosWin, #WM_CLOSE, 0, 0 ...
by Poplar
Sun May 06, 2018 3:32 am
Forum: General Discussion
Topic: Using DLLs with WinAPI
Replies: 40
Views: 13584

Re: Using DLLs with WinAPI

Code updated For 5.62

hMod = GetModuleHandle_("kernel32.dll")
If hMod
GetCurrentDirectory = GetProcAddress_(hMod, UTF8("GetCurrentDirectoryW"))
size.l=512
CurDir.s= Space(#MAX_PATH)
ptrDir.l = @CurDir
!PUSH [v_ptrDir]
!PUSH [v_size]
!CALL [v_GetCurrentDirectory]
Debug PeekS(ptrDir ...
by Poplar
Sun May 06, 2018 3:12 am
Forum: Coding Questions
Topic: Own API/ASM command for StrLen() !?
Replies: 7
Views: 4230

Re: Own API/ASM command for StrLen() !?

Debug lstrlen_("Hello world!")
by Poplar
Sat May 05, 2018 2:30 am
Forum: Coding Questions
Topic: ReadProcessMemory... :( Please Help!
Replies: 14
Views: 7838

Re: ReadProcessMemory... :( Please Help!

About "kernel32.dll" module's base, we can use "Debug "$"+Hex(GetModuleHandle_("kernel32.dll"))".
by Poplar
Sat May 05, 2018 2:05 am
Forum: Coding Questions
Topic: (4.40b2 x86) GetProcAddress_() returns wrong value
Replies: 4
Views: 2024

Re: (4.40b2 x86) GetProcAddress_() returns wrong value

hMod = GetModuleHandle_("Kernel32.dll")
Debug hMod

*p = GetProcAddress_(hMod, UTF8("GetCurrentProcessId"))
Debug *p ;<---------- Not null
by Poplar
Fri May 04, 2018 9:21 am
Forum: Coding Questions
Topic: Importing SetWindowSubclass?
Replies: 5
Views: 1879

Re: Importing SetWindowSubclass?

Prototype p_SetWindowSubclass(hWnd.i, pfnSubclass.i, uIdSubclass.i, dwRefData.i)
Prototype p_RemoveWindowSubclass(hWnd.i, pfnSubclass.i, uIdSubclass.i)
Prototype p_DefSubclassProc(hWnd.i, uMsg.i, wparam.i, lparam.i)
Prototype p_GetWindowSubclass(hWnd.i, Proc.i, ID.i, RefData.i)

Define.i hComCtl32 ...
by Poplar
Thu Jun 29, 2017 2:13 pm
Forum: Coding Questions
Topic: Getting "Logged in" User
Replies: 13
Views: 5683

Re: Getting

EnableExplicit

Enumeration
#NameUnknown = 0
#NameFullyQualifiedDN = 1
#NameSamCompatible = 2
#NameDisplay = 3
#NameUniqueId = 6
#NameCanonical = 7
#NameUserPrincipal = 8
#NameCanonicalEx = 9
#NameServicePrincipal = 10
#NameDnsDomain = 12
EndEnumeration

Define UserName.s = Space(#MAX ...
by Poplar
Tue Jun 20, 2017 2:41 pm
Forum: General Discussion
Topic: import lib and variable number of arguments
Replies: 5
Views: 3554

Re: import lib and variable number of arguments

EnableExplicit

Define lib.l = OpenLibrary(#PB_Any, "User32.dll")
If lib > 0
PrototypeC.i prpto_wvsprintf(lpOutput.s, lpFmt.s, *arglist)
Global wvsprintf_.prpto_wvsprintf = GetFunction(lib, "wvsprintfW")
CloseLibrary(lib)
EndIf

; Import "user32.lib"
; wvsprintf_.l(lpOutput.l, lpFormat.s ...
by Poplar
Sat Jun 17, 2017 4:28 am
Forum: Coding Questions
Topic: dev-C++ dll howto
Replies: 9
Views: 4642

Re: dev-C++ dll howto

In pb V5.60:
EnableExplicit
Define lib.l, a.i, n.s, buffer.s, CharsWritten.i
lib = OpenLibrary(#PB_Any, "msvcrt.dll")
PrototypeC.i ProtoSprintf(Buffer.s, Format.s, Arg1.l = 0, Arg2.l = 0, Arg3.l = 0, Arg4.l = 0)
Global sprintf.ProtoSprintf = GetFunction(lib, "swprintf")
CloseLibrary(lib)

a = 5
n ...
by Poplar
Sat Jun 17, 2017 4:18 am
Forum: Coding Questions
Topic: C Runtime Library & variable parameters
Replies: 25
Views: 11124

Re: C Runtime Library & variable parameters

EnableExplicit
Define lib.l, a.i, n.s, buffer.s, CharsWritten.i
lib = OpenLibrary(#PB_Any, "msvcrt.dll")
PrototypeC.i ProtoSprintf(Buffer.s, Format.s, Arg1.l = 0, Arg2.l = 0, Arg3.l = 0, Arg4.l = 0)
Global sprintf.ProtoSprintf = GetFunction(lib, "swprintf")
CloseLibrary(lib)

a = 5
n = "About: %d ...
by Poplar
Thu Jun 01, 2017 2:01 pm
Forum: Windows
Topic: wsprintf is missing
Replies: 2
Views: 3412

Re: wsprintf is missing

OpenLibrary(0, "User32.dll")
PrototypeC.i protoFunction(*buf.p-unicode, a.p-unicode, b.l)
wsprintf.protoFunction = GetFunction(0, "wsprintfW")
CloseLibrary(0)

a = 5
n.s = "A: %d"

buffer.s = Space(50)

CharsWritten = wsprintf(@buffer, n, a)

Debug buffer
Debug CharsWritten
Debug Len(buffer)