Jump to content

Recommended Posts

Posted

When will the ControlSendPlus udf be updated and if not soon is there another out there updated to the gui unstable version that will send symbols (!@#$%^&*)?

Posted

The one I have should send symbols?

It's in his public directory.

"I thoroughly disapprove of duels. If a man should challenge me, I would take him kindly and forgivingly by the hand and lead him to a quiet place and kill him." - Mark TwainPatient: "It hurts when I do $var_"Doctor: "Don't do $var_" - Lar.
Posted

No thats the problem, I think he took them offline, can you email me or putone in your public directory? Or wait whihc person, pekster or somethin?

Posted

Pekster, yes.

"I thoroughly disapprove of duels. If a man should challenge me, I would take him kindly and forgivingly by the hand and lead him to a quiet place and kill him." - Mark TwainPatient: "It hurts when I do $var_"Doctor: "Don't do $var_" - Lar.
Posted

PLEASE search, I asked a question about this and DirtyBanditos did within the last week.

#include-once
Func ControlSendPlus($title, $text, $className, $string, $flag)
;VERSION 2.0.3 (06/13/2004)
 Local $ctrl=0,$alt=0,$upper,$start,$end,$i,$char,$and,$Chr5Index,$isUpper,$ret
 If $flag = 2 OR $flag = 3 Then $ctrl = 1
 If $flag = 2 OR $flag = 4 Then $alt = 1
 If $flag <> 1 Then $flag = 0;set the flag to the default function style
 $upper = StringSplit('~!@#$%^&*()_+|{}:"<>?ABCDEFGHIJKLMNOPQRSTUVWXYZ', "")

 If $flag <> 1 Then;don't replace special chars if it's raw mode
 ;replace {{} and {}} with +[ and +] so they will be displayed properly
   $string = StringReplace($string, "{{}", "+[")
   $string = StringReplace($string, "{}}", "+]")
 ;replace all special chars with Chr(5)
 ;add the special char to an array.  each Chr(5) corresponds with an element
   Local $Chr5[StringLen($string) / 2 + 1]
   For $i = 1 To StringLen($string)
     $start = StringInStr($string, "{")
     If $start = 0 Then ExitLoop;no more open braces, so no more special chars
     $end = StringInStr($string, "}")
     If $end = 0 Then ExitLoop;no more close braces, so no more special chars
   ;parse inside of braces:
     $Chr5[$i] = StringMid($string, $start, $end - $start + 1)
   ;replace with Chr(5) leaving the rest of the string:
     $string = StringMid($string, 1, $start - 1) & Chr(5) &_
      StringMid($string, $end + 1, StringLen($string))
   Next
 ;take out any "!", "^", or "+" characters
 ;add them to the $Modifiers array to be used durring key sending
   Local $Modifiers[StringLen($string) + 1]
   For $i = 1 To StringLen($string)
     $char = StringMid($string, $i, 1)
     $and = 0
     If $char = "+" Then
       $and = 1
     ElseIf $char = "^" Then
       $and = 2
     ElseIf $char = "!" Then
       $and = 4
     ElseIf $char = "" Then
       ExitLoop
     EndIf
     If $and <> 0 Then
       $Modifiers[$i] = BitOR($Modifiers[$i], $and)
       $string = StringMid($string, 1, $i - 1) &_
        StringMid($string, $i + 1, StringLen($string))
       $i = $i - 1
     EndIf
   Next
 Else;it is raw mode, so set up an all-0 modifier array
   Local $Modifiers[StringLen($string) + 1]
 EndIf

;now send the chars
 $Chr5Index = 1
 For $i = 1 To StringLen($string)
   $char = StringMid($string, $i, 1)
   If $char = Chr(5) Then
     $char = $Chr5[$Chr5Index]
     $Chr5Index = $Chr5Index + 1
   EndIf
   $isUpper = 0
   For $j = 1 To UBound($upper) - 1
     If $char == $upper[$j] Then $isUpper = 1
   Next
 ;1 SHIFT, 2 CTRL, 4 ALT (programmer note to keep the bits straight)
   If $isUpper = 1 OR BitAND($Modifiers[$i], 1) = 1 Then Send("{SHIFTDOWN}")
   If BitAND($Modifiers[$i], 4) = 4 AND NOT $alt Then $char = "!" & $char
   If BitAND($Modifiers[$i], 2) = 2 AND NOT $ctrl Then $char = "^" & $char
   If BitAND($Modifiers[$i], 4) = 4 AND $alt Then Send("{ALTDOWN}")
   If BitAND($Modifiers[$i], 2) = 2 AND $ctrl Then Send("{CTRLDOWN}")
   $ret = ControlSend($title, $text, $className, $char, $flag)
   If BitAND($Modifiers[$i], 4) = 4 AND $alt Then Send("{ALTUP}")
   If BitAND($Modifiers[$i], 2) = 2 AND $ctrl Then Send("{CTRLUP}")
   If $isUpper = 1 OR BitAND($Modifiers[$i], 1) = 1 Then Send("{SHIFTUP}")
   If NOT $ret Then return 0;window or control not found
 Next
 return 1
EndFunc
"I thoroughly disapprove of duels. If a man should challenge me, I would take him kindly and forgivingly by the hand and lead him to a quiet place and kill him." - Mark TwainPatient: "It hurts when I do $var_"Doctor: "Don't do $var_" - Lar.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...