AutoHotkey Community

It is currently May 26th, 2012, 2:51 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 103 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Author Message
 Post subject:
PostPosted: November 21st, 2008, 3:16 am 
Offline

Joined: December 7th, 2005, 8:29 am
Posts: 345
Hi,

Any new version coming up soon? :D

_________________
(\__/) This is Bunny.
(='.'=) Cut, copy, and paste bunny onto your sig.
(")_(") Help Bunny gain World Domination.


Report this post
Top
 Profile  
Reply with quote  
 Post subject: .PHP
PostPosted: November 22nd, 2008, 7:46 pm 
Is there anyway to use .php files with the webserver i tryed to use php and when i go to the url it loads html fine but when i try to click a link that uses .php it trys to download it insted of useing it


Report this post
Top
  
Reply with quote  
 Post subject: Re: .PHP
PostPosted: November 22nd, 2008, 8:41 pm 
Offline

Joined: November 23rd, 2007, 10:23 am
Posts: 841
Location: ~/.
twhyman wrote:
Hi,
Any new version coming up soon? :D


there will be a new version - but please dont ask when :)

Xatmo97 wrote:
Is there anyway to use .php files with the webserver i tryed to use php and when i go to the url it loads html fine but when i try to click a link that uses .php it trys to download it insted of useing it


php and others fail atm, because
a) the script is not fully working as expected and might crash - therefore this has highest priority to be fixed (but this is also the toughest job to get that done, so as written above it simply takes a while longer)
b) php aswell as vbs or perl needs CGI to work with sparrow. CGI allows any content being read from stdin and send back to stdout. this feature will be implemented, but it is not working at the moment. when CGI interface is done, not only php will work, but anything capable of sending stdout and reading from stdin will do.

greets
dR

_________________
Image
    All scripts, unless otherwise noted, are hereby released under CC-BY


Report this post
Top
 Profile  
Reply with quote  
 Post subject: =)
PostPosted: November 24th, 2008, 8:47 am 
Thank you


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: November 28th, 2008, 8:51 am 
Offline

Joined: December 7th, 2005, 8:29 am
Posts: 345
DerRaphael wrote:
twhyman wrote:
Hi,
Any new version coming up soon? :D


there will be a new version - but please dont ask when :)


I was just curious because i love to whole concept of spparow, and btw providing a free bump in the forum so other pepole will see spparow :wink:

_________________
(\__/) This is Bunny.
(='.'=) Cut, copy, and paste bunny onto your sig.
(")_(") Help Bunny gain World Domination.


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Great!!
PostPosted: November 30th, 2008, 6:21 am 
Just realized the potential of sparrow!!

Reeeeaaaally great!

I am currently using it to control my computer via WIFI with my phone. When automation with COM will be available (or when i figure it out), it will be simply great!

A bump from me too!


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: January 21st, 2009, 3:55 pm 
I made a gui with IE embedded and realized the potential for creating web server html based gui programs. Combining the two things opens up entirely new possibilities for AutoHotkey programmers. Now you can design a gui for your computer in html, css, image maps,...


Report this post
Top
  
Reply with quote  
PostPosted: January 30th, 2009, 3:38 am 
Offline

Joined: July 30th, 2004, 8:50 pm
Posts: 192
:) Great job, DerRaphael!

Is there any way to get the <?ahk tag to run from inside javascript?
The following code only runs when the page is refreshed...

Also, is there any way of accessing the javascript variables?

The code catches the position of a mouseclick on an image, and tries to send it to a script.

Skrommel

Code:
<html>
<head>
<meta http-equiv="refresh" content="10">
<script language="JavaScript">
function point_it(event){
    pos_x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("pointer_div").offsetLeft;
    pos_y = event.offsetY?(event.offsetY):event.pageY-document.getElementById("pointer_div").offsetTop;
    document.getElementById("cross").style.left = (pos_x-1) ;
    document.getElementById("cross").style.top = (pos_y-15) ;
    document.getElementById("cross").style.visibility = "visible" ;
    document.pointform.form_x.value = pos_x;
    document.pointform.form_y.value = pos_y;
<?ahk
Run,click.exe %pos_x% %pos_y%
?>
}
</script>
</head>
<body>
<form name="pointform" method="post">
<div id="pointer_div" onclick="point_it(event)" style = "background-image:url('sun.jpg');width:500px;height:333px;">
<img src="point.gif" id="cross" style="position:relative;visibility:hidden;z-index:2;"></div>
You pointed on x = <input type="text" name="form_x" size="4" /> - y = <input type="text" name="form_y" size="4" />
</form>
</body>
</html>

_________________
www.1HourSoftware.com


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: January 30th, 2009, 9:29 am 
Offline

Joined: October 17th, 2006, 4:15 pm
Posts: 7502
Location: Australia
JavaScript is client-side. In other words, Sparrow executes the AutoHotkey script, sends the page including JavaScript to the browser, then the browser runs the JavaScript. Interacting with the client directly could be done with Internet Explorer via COM, but defeats the purpose of Sparrow.

Off-topic: I originally wrote DispatchObj to make interacting with JavaScript in an IE window/WebBrowser control/HTML Dialog easier, but haven't developed it to its full potential since I haven't really much use for it.
Quote:
Is there any way to get the <?ahk tag to run from inside javascript?
It could be done indirectly like any other web server, assuming a scripted Sparrow page can accept POST data or arguments in the URL.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: January 30th, 2009, 6:20 pm 
Offline

Joined: July 30th, 2004, 8:50 pm
Posts: 192
:) Thanks, Lexicos, I'll have a look at it.

Quote:
It could be done indirectly like any other web server, assuming a scripted Sparrow page can accept POST data or arguments in the URL.


Can it, DerRaphael?

Skrommel

_________________
www.1HourSoftware.com


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: January 30th, 2009, 10:43 pm 
Offline

Joined: July 30th, 2004, 8:50 pm
Posts: 192
:oops: I'm trying to create a simple remote control tool, so the above code would of course not work, as the javascript is running on another computer than Sparrow...

Does anyone know how Sparrow accept POST data or arguments in the URL, or must I go back to image maps and a couple thousand html files?

Skrommel

_________________
www.1HourSoftware.com


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: January 30th, 2009, 11:46 pm 
Offline
User avatar

Joined: December 21st, 2007, 3:14 pm
Posts: 3826
Location: Louisville KY USA
who is lexicos?

_________________
No matter what your oppinion Please join this discussion
Formal request to Polyethene
Image


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: January 31st, 2009, 12:27 am 
Offline

Joined: January 5th, 2009, 11:09 am
Posts: 8
There must be some sort of mistake?
Quote:
Does anyone know how Sparrow accept POST data or arguments in the URL,
Look in web\form.hkml.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: January 31st, 2009, 1:27 am 
Offline
User avatar

Joined: December 21st, 2007, 3:14 pm
Posts: 3826
Location: Louisville KY USA
Lexik(c)os wrote:
That Lexicos, always stealing the credit for my work. :evil:
rofl

_________________
No matter what your oppinion Please join this discussion
Formal request to Polyethene
Image


Report this post
Top
 Profile  
Reply with quote  
 Post subject: RemoteControl
PostPosted: February 2nd, 2009, 1:27 am 
Offline

Joined: July 30th, 2004, 8:50 pm
Posts: 192
:) Sorry, Lexikos!

Here's a first version of my remote control tool. I'm having all kinds of problems with paths, is there any system variables list somewhere?

It will let you control your computer through a web interface, clicking and sending key presses.

It requires two files, index.hkml and CaptureScreen.ahk.

Skrommel

index.hkml goes in Sparrow's www folder:
Code:
<html>
<head>
  <title>Remote Control</title>
<script language="JavaScript">
function point_it(event)
{
    pos_x=event.offsetX?(event.offsetX):event.pageX-document.getElementById("pointer_div").offsetLeft;
    pos_y=event.offsetY?(event.offsetY):event.pageY-document.getElementById("pointer_div").offsetTop;
    document.getElementById("cross").style.left=(pos_x-1);
    document.getElementById("cross").style.top=(pos_y-15);
    document.pointform.form_x.value=pos_x;
    document.pointform.form_y.value=pos_y;
    document.pointform.submit();
}
</script>
</head>
<body>

<form name="pointform" method="post">
<div id="pointer_div" onclick="point_it(event)" style="background-image:url('
<?ahk
#NoEnv
SetBatchLines,-1
SetWinDelay,0

x:=$_POST[form_x]/500*A_ScreenWidth
y:=$_POST[form_y]/333*A_ScreenHeight

SendMode,Input
If ($_POST[shift]="on")
  Send,{Shift Down}
If ($_POST[ctrl]="on")
  Send,{Ctrl Down}
If ($_POST[alt]="on")
  Send,{Alt Down}
If ($_POST[win]="on")
  Send,{Win Down}
Send,% $_POST[text]

CoordMode,Mouse,Screen
If ($_POST[button]="left")
  MouseClick,Left,% x,% y,1,0
Else If ($_POST[button]="leftdown")
  MouseClick,Left,% x,% y,1,0,D
Else If ($_POST[button]="leftup")
  MouseClick,Left,% x,% y,1,0,U
Else If ($_POST[button]="leftdouble")
  MouseClick,Left,% x,% y,2,0
Else If ($_POST[button]="right")
  MouseClick,Right,% x,% y,,0
Else If ($_POST[button]="rightdown")
  MouseClick,Right,% x,% y,1,0,D
Else If ($_POST[button]="rightup")
  MouseClick,Right,% x,% y,1,0,U
Else If ($_POST[button]="rightdouble")
  MouseClick,Right,% x,% y,2,0

If ($_POST[shift]="on")
  Send,{Shift Up}
If ($_POST[ctrl]="on")
  Send,{Ctrl Up}
If ($_POST[alt]="on")
  Send,{Alt Up}
If ($_POST[win]="on")
  Send,{Win Up}

Sleep,1000
RunWait,CaptureScreen.ahk
filename:=$_SERVER[REQUEST] "screen.jpg#"
echo(filename)
?>
');width:500px;height:333px;">
<img src="point.gif" id="cross" style="position:relative;visibility:hidden;z-index:2;">
</div>
X=<input type="text" name="form_x" size="4"> Y=<input type="text" name="form_y" size="4">
<input type="Submit" value="Submit">
<br>
Text: <input type="Edit" name="text">
<br>
<input type="CheckBox" name="shift"> Shift
<input type="CheckBox" name="ctrl"> Ctrl
<input type="CheckBox" name="shift"> Alt
<input type="CheckBox" name="win"> Win
<br>
<input type="radio" name="button" value="left" checked="checked"> LButton
<input type="radio" name="button" value="leftdown"> LButton Down
<input type="radio" name="button" value="leftup"> LButton Up
<input type="radio" name="button" value="leftdouble"> LeftDoubleClick
<br>
<input type="radio" name="button" value="right"> RButton
<input type="radio" name="button" value="rightdown"> RButton Down
<input type="radio" name="button" value="rightup"> RButton Up
<input type="radio" name="button" value="rightdouble"> RightDoubleClick
<br>
</form>
</map>

<?ahk
echo(nl2br("$_POST -> " $_POST "`n"))
echo(nl2br("$_POST[form_x] -> " $_POST[form_x] "`n"))
echo(nl2br("$_POST[form_y] -> " $_POST[form_y] "`n"))
echo(nl2br("$_POST[button] -> " $_POST[button] "`n"))
echo(nl2br("$_POST[shift] -> " $_POST[shift] "`n"))
echo(nl2br("$_POST[ctrl] -> " $_POST[ctrl] "`n"))
echo(nl2br("$_POST[alt] -> " $_POST[alt] "`n"))
echo(nl2br("$_POST[win] -> " $_POST[win] "`n"))
echo(nl2br("$_POST[text] -> " $_POST[text] "`n"))
?>

<script language="JavaScript">
</script>
</body></html>



CaptureScreen.ahk goes in the main Sparrow folder:
Code:
#NoEnv
SetBatchLines,-1
SetWinDelay,0

CaptureScreen("0,0," A_ScreenWidth "," A_ScreenHeight ",500,333",True,A_ScriptDir "\www\screen.jpg")
Return


/* CaptureScreen(aRect, bCursor, sFileTo, nQuality)
1) If the optional parameter bCursor is True, captures the cursor too.
2) If the optional parameter sFileTo is 0, set the image to Clipboard.
   If it is omitted or "", saves to screen.bmp in the script folder,
   otherwise to sFileTo which can be BMP/JPG/PNG/GIF/TIF.
3) The optional parameter nQuality is applicable only when sFileTo is JPG. Set it to the desired quality level of the resulting JPG, an integer between 0 - 100.
4) If aRect is 0/1/2, captures the screen/active window/client area of active window.
5) aRect can be comma delimited sequence of coordinates, e.g., "Left, Top, Right, Bottom" or "Left, Top, Right, Bottom, Width_Zoomed, Height_Zoomed".
   In this case, only that portion of the rectangle will be captured. Additionally, in the latter case, zoomed to the new width/height, Width_Zoomed/Height_Zoomed.

Example:
CaptureScreen(0)
CaptureScreen(1)
CaptureScreen(2)
CaptureScreen("100, 100, 200, 200")
CaptureScreen("100, 100, 200, 200, 400, 400")   ; Zoomed
*/

/* Convert(sFileFr, sFileTo, nQuality)
Convert("C:\image.bmp", "C:\image.jpg")
Convert("C:\image.bmp", "C:\image.jpg", 95)
Convert(0, "C:\clip.png")   ; Save the bitmap in the clipboard to sFileTo if sFileFr is "" or 0.
*/


CaptureScreen(aRect = 0, bCursor = False, sFile = "", nQuality = "")
{
   If   !aRect
   {
      SysGet, Mon, Monitor, 1
      nL := MonLeft
      nT := MonTop
      nW := MonRight - MonLeft
      nH := MonBottom - MonTop
   }
   Else If   aRect = 1
      WinGetPos, nL, nT, nW, nH, A
   Else If   aRect = 2
   {
      WinGet, hWnd, ID, A
      VarSetCapacity(rt, 16, 0)
      DllCall("GetClientRect" , "Uint", hWnd, "Uint", &rt)
      DllCall("ClientToScreen", "Uint", hWnd, "Uint", &rt)
      nL := NumGet(rt, 0, "int")
      nT := NumGet(rt, 4, "int")
      nW := NumGet(rt, 8)
      nH := NumGet(rt,12)
   }
   Else
   {
      StringSplit, rt, aRect, `,, %A_Space%%A_Tab%
      nL := rt1
      nT := rt2
      nW := rt3 - rt1
      nH := rt4 - rt2
      znW := rt5
      znH := rt6
   }

   mDC := DllCall("CreateCompatibleDC", "Uint", 0)
   hBM := CreateDIBSection(mDC, nW, nH)
   oBM := DllCall("SelectObject", "Uint", mDC, "Uint", hBM)
   hDC := DllCall("GetDC", "Uint", 0)
   DllCall("BitBlt", "Uint", mDC, "int", 0, "int", 0, "int", nW, "int", nH, "Uint", hDC, "int", nL, "int", nT, "Uint", 0x40000000 | 0x00CC0020)
   DllCall("ReleaseDC", "Uint", 0, "Uint", hDC)
   If   bCursor
      CaptureCursor(mDC, nL, nT)
   DllCall("SelectObject", "Uint", mDC, "Uint", oBM)
   DllCall("DeleteDC", "Uint", mDC)
   If   znW && znH
      hBM := Zoomer(hBM, nW, nH, znW, znH)
   If   sFile = 0
      SetClipboardData(hBM)
   Else   Convert(hBM, sFile, nQuality), DllCall("DeleteObject", "Uint", hBM)
}

CaptureCursor(hDC, nL, nT)
{
   VarSetCapacity(mi, 20, 0)
   mi := Chr(20)
   DllCall("GetCursorInfo", "Uint", &mi)
   bShow   := NumGet(mi, 4)
   hCursor := NumGet(mi, 8)
   xCursor := NumGet(mi,12)
   yCursor := NumGet(mi,16)

   VarSetCapacity(ni, 20, 0)
   DllCall("GetIconInfo", "Uint", hCursor, "Uint", &ni)
   xHotspot := NumGet(ni, 4)
   yHotspot := NumGet(ni, 8)
   hBMMask  := NumGet(ni,12)
   hBMColor := NumGet(ni,16)

   If   bShow
      DllCall("DrawIcon", "Uint", hDC, "int", xCursor - xHotspot - nL, "int", yCursor - yHotspot - nT, "Uint", hCursor)
   If   hBMMask
      DllCall("DeleteObject", "Uint", hBMMask)
   If   hBMColor
      DllCall("DeleteObject", "Uint", hBMColor)
}

Zoomer(hBM, nW, nH, znW, znH)
{
   mDC1 := DllCall("CreateCompatibleDC", "Uint", 0)
   mDC2 := DllCall("CreateCompatibleDC", "Uint", 0)
   zhBM := CreateDIBSection(mDC2, znW, znH)
   oBM1 := DllCall("SelectObject", "Uint", mDC1, "Uint",  hBM)
   oBM2 := DllCall("SelectObject", "Uint", mDC2, "Uint", zhBM)
   DllCall("SetStretchBltMode", "Uint", mDC2, "int", 4)
   DllCall("StretchBlt", "Uint", mDC2, "int", 0, "int", 0, "int", znW, "int", znH, "Uint", mDC1, "int", 0, "int", 0, "int", nW, "int", nH, "Uint", 0x00CC0020)
   DllCall("SelectObject", "Uint", mDC1, "Uint", oBM1)
   DllCall("SelectObject", "Uint", mDC2, "Uint", oBM2)
   DllCall("DeleteDC", "Uint", mDC1)
   DllCall("DeleteDC", "Uint", mDC2)
   DllCall("DeleteObject", "Uint", hBM)
   Return   zhBM
}

Convert(sFileFr = "", sFileTo = "", nQuality = "")
{
   If   sFileTo  =
      sFileTo := A_ScriptDir . "\screen.bmp"
   SplitPath, sFileTo, , sDirTo, sExtTo, sNameTo

   If Not   hGdiPlus := DllCall("LoadLibrary", "str", "gdiplus.dll")
      Return   sFileFr+0 ? SaveHBITMAPToFile(sFileFr, sDirTo . "\" . sNameTo . ".bmp") : ""
   VarSetCapacity(si, 16, 0), si := Chr(1)
   DllCall("gdiplus\GdiplusStartup", "UintP", pToken, "Uint", &si, "Uint", 0)

   If   !sFileFr
   {
      DllCall("OpenClipboard", "Uint", 0)
      If    DllCall("IsClipboardFormatAvailable", "Uint", 2) && (hBM:=DllCall("GetClipboardData", "Uint", 2))
      DllCall("gdiplus\GdipCreateBitmapFromHBITMAP", "Uint", hBM, "Uint", 0, "UintP", pImage)
      DllCall("CloseClipboard")
   }
   Else If   sFileFr Is Integer
      DllCall("gdiplus\GdipCreateBitmapFromHBITMAP", "Uint", sFileFr, "Uint", 0, "UintP", pImage)
   Else   DllCall("gdiplus\GdipLoadImageFromFile", "Uint", Unicode4Ansi(wFileFr,sFileFr), "UintP", pImage)

   DllCall("gdiplus\GdipGetImageEncodersSize", "UintP", nCount, "UintP", nSize)
   VarSetCapacity(ci,nSize,0)
   DllCall("gdiplus\GdipGetImageEncoders", "Uint", nCount, "Uint", nSize, "Uint", &ci)
   Loop, %   nCount
      If   InStr(Ansi4Unicode(NumGet(ci,76*(A_Index-1)+44)), "." . sExtTo)
      {
         pCodec := &ci+76*(A_Index-1)
         Break
      }
   If   InStr(".JPG.JPEG.JPE.JFIF", "." . sExtTo) && nQuality<>"" && pImage && pCodec
   {
   DllCall("gdiplus\GdipGetEncoderParameterListSize", "Uint", pImage, "Uint", pCodec, "UintP", nSize)
   VarSetCapacity(pi,nSize,0)
   DllCall("gdiplus\GdipGetEncoderParameterList", "Uint", pImage, "Uint", pCodec, "Uint", nSize, "Uint", &pi)
   Loop, %   NumGet(pi)
      If   NumGet(pi,28*(A_Index-1)+20)=1 && NumGet(pi,28*(A_Index-1)+24)=6
      {
         pParam := &pi+28*(A_Index-1)
         NumPut(nQuality,NumGet(NumPut(4,NumPut(1,pParam+0)+20)))
         Break
      }
   }

   If   pImage
      pCodec   ? DllCall("gdiplus\GdipSaveImageToFile", "Uint", pImage, "Uint", Unicode4Ansi(wFileTo,sFileTo), "Uint", pCodec, "Uint", pParam) : DllCall("gdiplus\GdipCreateHBITMAPFromBitmap", "Uint", pImage, "UintP", hBitmap, "Uint", 0) . SetClipboardData(hBitmap), DllCall("gdiplus\GdipDisposeImage", "Uint", pImage)

   DllCall("gdiplus\GdiplusShutdown" , "Uint", pToken)
   DllCall("FreeLibrary", "Uint", hGdiPlus)
}

CreateDIBSection(hDC, nW, nH, bpp = 32, ByRef pBits = "")
{
   NumPut(VarSetCapacity(bi, 40, 0), bi)
   NumPut(nW, bi, 4)
   NumPut(nH, bi, 8)
   NumPut(bpp, NumPut(1, bi, 12, "UShort"), 0, "Ushort")
   NumPut(0,  bi,16)
   Return   DllCall("gdi32\CreateDIBSection", "Uint", hDC, "Uint", &bi, "Uint", 0, "UintP", pBits, "Uint", 0, "Uint", 0)
}

SaveHBITMAPToFile(hBitmap, sFile)
{
   DllCall("GetObject", "Uint", hBitmap, "int", VarSetCapacity(oi,84,0), "Uint", &oi)
   hFile:=   DllCall("CreateFile", "Uint", &sFile, "Uint", 0x40000000, "Uint", 0, "Uint", 0, "Uint", 2, "Uint", 0, "Uint", 0)
   DllCall("WriteFile", "Uint", hFile, "int64P", 0x4D42|14+40+NumGet(oi,44)<<16, "Uint", 6, "UintP", 0, "Uint", 0)
   DllCall("WriteFile", "Uint", hFile, "int64P", 54<<32, "Uint", 8, "UintP", 0, "Uint", 0)
   DllCall("WriteFile", "Uint", hFile, "Uint", &oi+24, "Uint", 40, "UintP", 0, "Uint", 0)
   DllCall("WriteFile", "Uint", hFile, "Uint", NumGet(oi,20), "Uint", NumGet(oi,44), "UintP", 0, "Uint", 0)
   DllCall("CloseHandle", "Uint", hFile)
}

SetClipboardData(hBitmap)
{
   DllCall("GetObject", "Uint", hBitmap, "int", VarSetCapacity(oi,84,0), "Uint", &oi)
   hDIB :=   DllCall("GlobalAlloc", "Uint", 2, "Uint", 40+NumGet(oi,44))
   pDIB :=   DllCall("GlobalLock", "Uint", hDIB)
   DllCall("RtlMoveMemory", "Uint", pDIB, "Uint", &oi+24, "Uint", 40)
   DllCall("RtlMoveMemory", "Uint", pDIB+40, "Uint", NumGet(oi,20), "Uint", NumGet(oi,44))
   DllCall("GlobalUnlock", "Uint", hDIB)
   DllCall("DeleteObject", "Uint", hBitmap)
   DllCall("OpenClipboard", "Uint", 0)
   DllCall("EmptyClipboard")
   DllCall("SetClipboardData", "Uint", 8, "Uint", hDIB)
   DllCall("CloseClipboard")
}

Unicode4Ansi(ByRef wString, sString)
{
   nSize := DllCall("MultiByteToWideChar", "Uint", 0, "Uint", 0, "Uint", &sString, "int", -1, "Uint", 0, "int", 0)
   VarSetCapacity(wString, nSize * 2)
   DllCall("MultiByteToWideChar", "Uint", 0, "Uint", 0, "Uint", &sString, "int", -1, "Uint", &wString, "int", nSize)
   Return   &wString
}

Ansi4Unicode(pString)
{
   nSize := DllCall("WideCharToMultiByte", "Uint", 0, "Uint", 0, "Uint", pString, "int", -1, "Uint", 0, "int",  0, "Uint", 0, "Uint", 0)
   VarSetCapacity(sString, nSize)
   DllCall("WideCharToMultiByte", "Uint", 0, "Uint", 0, "Uint", pString, "int", -1, "str", sString, "int", nSize, "Uint", 0, "Uint", 0)
   Return   sString
}

_________________
www.1HourSoftware.com


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 103 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: daonlyfreez, Google [Bot] and 14 guests


You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group