C cqcredit Unregistered / Unconfirmed GUEST, unregistred user! 2008-01-15 #1 有谁知道,如何在屏幕指定位置输出文字?<br>有一个已经安装好的应用程序,我想更改其中的某些标签,用DELPHI怎么处理?<br>高手们能给段DELPHI程序代码吗?<br>我的邮箱: cqcredit@163.com
有谁知道,如何在屏幕指定位置输出文字?<br>有一个已经安装好的应用程序,我想更改其中的某些标签,用DELPHI怎么处理?<br>高手们能给段DELPHI程序代码吗?<br>我的邮箱: cqcredit@163.com
J jenhon Unregistered / Unconfirmed GUEST, unregistred user! 2008-01-16 #2 建议你直接修改 exe文件,用工具改还简单点。<br>你通过你自己的程序去监控这个软件是否执行了,执行了的话,修改application.name,title还容易点,一般有api可以改,但是如果要修改里面某张form的label的话,就很惨了。<br>还是针对EXE里面的字眼,修改已有的exe文件的数据段部分容易点,如果没有加密的话。
建议你直接修改 exe文件,用工具改还简单点。<br>你通过你自己的程序去监控这个软件是否执行了,执行了的话,修改application.name,title还容易点,一般有api可以改,但是如果要修改里面某张form的label的话,就很惨了。<br>还是针对EXE里面的字眼,修改已有的exe文件的数据段部分容易点,如果没有加密的话。
暗 暗夜中独舞 Unregistered / Unconfirmed GUEST, unregistred user! 2008-01-17 #3 直接用WIN32 API TextOut可以在屏幕任意位置输出文本。<br>如果你要修改某些标签,那只需要找到句柄 修改就可以了
张 张辉明 Unregistered / Unconfirmed GUEST, unregistred user! 2008-01-17 #5 暗夜中独舞,的方法大概就是,取得桌面的DC,然后TEXTOUT,但是这样做没有持久性。<br><br>楼主可以试透明窗体。
无 无欲则刚 Unregistered / Unconfirmed GUEST, unregistred user! 2008-01-18 #6 同意Textout<br><br>想修改程序的Tabsheet,有点难度了
C cqcredit Unregistered / Unconfirmed GUEST, unregistred user! 2008-01-18 #7 朋友们,给段代码可以吗? 你们说的TEXTOUT,我试过,根本不行!
J jenhon Unregistered / Unconfirmed GUEST, unregistred user! 2008-01-19 #8 TEXTOUT如果有多个表单,就算找到句柄,也很难判断当前是哪个,该写在哪里,而且要执行另外的程序,有点像外挂,不大拿得出手。<br><br>我觉得这样不是很方便,建议还是直接修改exe。<br>不过修改exe的局限性也很大,就是字数一般要比原来的少,如果一个label只有2个中文,你没地方写第三个字。
TEXTOUT如果有多个表单,就算找到句柄,也很难判断当前是哪个,该写在哪里,而且要执行另外的程序,有点像外挂,不大拿得出手。<br><br>我觉得这样不是很方便,建议还是直接修改exe。<br>不过修改exe的局限性也很大,就是字数一般要比原来的少,如果一个label只有2个中文,你没地方写第三个字。
张 张辉明 Unregistered / Unconfirmed GUEST, unregistred user! 2008-01-21 #9 CWindowDC dc(GetDesktopWindow());<br><br> CPen pen(PS_SOLID,1,RGB(255,34,55));<br> CPen *pOldPen=dc.SelectObject(&pen);<br> dc.TextOut(100,100,"test");<br> dc.SelectObject(pOldPen);<br><br>既然你想用TEXTOUT 给个C++的你参考吧,
CWindowDC dc(GetDesktopWindow());<br><br> CPen pen(PS_SOLID,1,RGB(255,34,55));<br> CPen *pOldPen=dc.SelectObject(&pen);<br> dc.TextOut(100,100,"test");<br> dc.SelectObject(pOldPen);<br><br>既然你想用TEXTOUT 给个C++的你参考吧,
S sbzldlb Unregistered / Unconfirmed GUEST, unregistred user! 2008-01-21 #10 {在左上角显示时间}<br>procedure ThreadProc;<br>var<br> hScreenDC: hdc;<br> SystemTime: _SYSTEMTIME;<br> Temp: string;<br> MyOutput: PChar;<br>begin<br> while true do<br> begin<br> Sleep(100);<br> hScreenDC := GetDC(0);<br> GetLocalTime(SystemTime);<br> Temp := format('Current Time is %d-%d-%d %d:%d:%d', [SystemTime.wYear,<br> SystemTime.wMonth,<br> SystemTime.wDay,<br> SystemTime.wHour,<br> SystemTime.wMinute,<br> SystemTime.wSecond]);<br> MyOutPut := Pchar(temp);<br> TextOut(hScreenDC, 0, 0, MyOutPut, lstrlen(MyOutPut));<br> ReleaseDC(0, hScreenDC);<br> end;<br>end;<br><br>{在右上角显示时间}<br>procedure ThreadProc1;<br>var<br> hScreenDC: hdc;<br> SystemTime: _SYSTEMTIME;<br> Temp: string;<br> MyOutput: PChar;<br>begin<br> while true do<br> begin<br> Sleep(100);<br> hScreenDC := GetDC(0);<br> GetLocalTime(SystemTime);<br> Temp := format('Current Time is %d-%d-%d %d:%d:%d', [SystemTime.wYear,<br> SystemTime.wMonth,<br> SystemTime.wDay,<br> SystemTime.wHour,<br> SystemTime.wMinute,<br> SystemTime.wSecond]);<br> MyOutPut := Pchar(temp);<br> TextOut(hScreenDC, 1000, 0, MyOutPut, lstrlen(MyOutPut));<br> ReleaseDC(0, hScreenDC);<br> end;<br>end;
{在左上角显示时间}<br>procedure ThreadProc;<br>var<br> hScreenDC: hdc;<br> SystemTime: _SYSTEMTIME;<br> Temp: string;<br> MyOutput: PChar;<br>begin<br> while true do<br> begin<br> Sleep(100);<br> hScreenDC := GetDC(0);<br> GetLocalTime(SystemTime);<br> Temp := format('Current Time is %d-%d-%d %d:%d:%d', [SystemTime.wYear,<br> SystemTime.wMonth,<br> SystemTime.wDay,<br> SystemTime.wHour,<br> SystemTime.wMinute,<br> SystemTime.wSecond]);<br> MyOutPut := Pchar(temp);<br> TextOut(hScreenDC, 0, 0, MyOutPut, lstrlen(MyOutPut));<br> ReleaseDC(0, hScreenDC);<br> end;<br>end;<br><br>{在右上角显示时间}<br>procedure ThreadProc1;<br>var<br> hScreenDC: hdc;<br> SystemTime: _SYSTEMTIME;<br> Temp: string;<br> MyOutput: PChar;<br>begin<br> while true do<br> begin<br> Sleep(100);<br> hScreenDC := GetDC(0);<br> GetLocalTime(SystemTime);<br> Temp := format('Current Time is %d-%d-%d %d:%d:%d', [SystemTime.wYear,<br> SystemTime.wMonth,<br> SystemTime.wDay,<br> SystemTime.wHour,<br> SystemTime.wMinute,<br> SystemTime.wSecond]);<br> MyOutPut := Pchar(temp);<br> TextOut(hScreenDC, 1000, 0, MyOutPut, lstrlen(MyOutPut));<br> ReleaseDC(0, hScreenDC);<br> end;<br>end;