无法实现选中文本(5分)

  • 主题发起人 主题发起人 hksoobe
  • 开始时间 开始时间
H

hksoobe

Unregistered / Unconfirmed
GUEST, unregistred user!
keybd_event(42,mapvirtualkey(42,0),0,0);<br>&nbsp; &nbsp; &nbsp; &nbsp; keybd_event(39,mapvirtualkey(39,0),0,0);<br>&nbsp; &nbsp; &nbsp; &nbsp; keybd_event(39,mapvirtualkey(39,0),keyeventf_keyup,0);<br>&nbsp; &nbsp; &nbsp; &nbsp; keybd_event(39,mapvirtualkey(39,0),0,0);<br>&nbsp; &nbsp; &nbsp; &nbsp; keybd_event(39,mapvirtualkey(39,0),keyeventf_keyup,0);<br>&nbsp; &nbsp; &nbsp; &nbsp; keybd_event(39,mapvirtualkey(39,0),0,0);<br>&nbsp; &nbsp; &nbsp; &nbsp; keybd_event(39,mapvirtualkey(39,0),keyeventf_keyup,0);<br>&nbsp; &nbsp; &nbsp; &nbsp; keybd_event(42,mapvirtualkey(42,0),keyeventf_keyup,0);<br>用段程序模拟光标先放在文本中的任意一处,按住SHIFT再按右右右选中文本中的三个字符,但这段程序无法实现,有知道为什么的吗?
 
为什么要自己做这功能?是在练习做底层开发吗?
 
只是想试试,有谁知道吗?为什么其他都可以而实现就这个不行呢!
 
很多控件都有 selStart 和 sellength 属性 ,如edit,memo richedit 等。如果不是特殊需要没有必要去模拟按键。这两个属性的用法请看帮助文件。如果要模拟按键,仍然可以用<br>selStart定位光标。
 
别的办法我也有,但我就是想要知道这个为什么不能实现?
 
已经两周了终于解决了,应该是这样子的<br>var<br>&nbsp;i:byte;<br>begin<br>&nbsp; sleeP(2000);<br>&nbsp; for i:=1 to 3 do<br>&nbsp; begin<br>&nbsp; &nbsp; keybd_event(VK_SHIFT,0,KEYEVENTF_EXTENDEDKEY or 0,0);<br>&nbsp; &nbsp; keybd_event(VK_RIGHT,0,KEYEVENTF_EXTENDEDKEY or 0,0);<br>&nbsp; &nbsp; keybd_event(VK_RIGHT,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);<br>&nbsp; &nbsp; keybd_event(VK_SHIFT,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);<br>&nbsp; end;<br>end;<br>是第三个参数的问题
 
后退
顶部