关于修改x64dbg的状态栏遇到的烦恼!
本帖最后由 冥界3大法王 于 2022-7-4 11:05 编辑费话不多说,看实现的源码和注释!
void LogStatusLabel::logUpdate(QString message)
{
//TODO: This subroutine can be optimized
if(!message.length())
return;
labelText += message.replace("\r\n", "\n");
QStringList lineList = labelText.split('\n');
labelText = lineList.last(); //if the last character is a newline this will be an empty string
for(int i = 0; i < lineList.length(); i++)
{
const QString & line = lineList;
if(line.length()) //set the last non-empty string from the split
{
finalLabel = line;
break;
}
}
setText(finalLabel);
//QClipboard* clipboard = QApplication::clipboard();
//clipboard->setText(finalLabel); 这样写没有问题,状态栏的内容也被复制到了剪贴板,但是Ctrl+X复制VA地址就被冲掉内容了!
//所以我们换成输出日志的方法来解决
// QClipboard *clipboard = QApplication::clipboard();
// QString text=clipboard->text();
// DbgCmdExecDirect("log " + text); 成功了,但发现一个新问题,日志窗口日志被不停的刷新!
妈啊,好几屏啊~~{:301_972:}
所以,问题来,能否解决以上问题?
} 本帖最后由 冥界3大法王 于 2022-7-4 11:28 编辑
所以上面的问题转换成两种解决思路:
1.判断剪贴板是否有数据?
有则不执行。。。
没有则执行。。。设置剪贴板的操作
2. 输出日志时 能否只让它执行一次,貌似与那块的位置相违背 或者WIN+V打开剪辑板
页:
[1]