所以在我一直在研究的文本编辑器程序中,我使用了WM_CHAR来处理来自键盘的输入.但是,我发现一些角色消息没有被记录下来.例如,如果我使用[shift] +数字键输入符号,例如%或&,则会记录一些符号,而其他字符如[shift] +9(导致')')则不会被记录.所以,我想知道我是否应该使用WM_KEYDOWN/WMKEYUP对来处理键盘输入.我曾经在汇编中编写了一个键盘记录器(实际上它只是我正在尝试的一个教程)并且使用了WM_KEYDOWN/WM_KEYUP对并且效果非常好.那么,我应该继续这个,还是我的程序发生了不寻常的事情?
谢谢,
Devjeet
我正在阅读汇编语言艺术(Randall Hyde,链接到亚马逊),我在那本书中尝试了一个控制台应用程序.这是一个使用Win32 API函数为自己创建一个新控制台的程序.该程序包含一个名为的过程LENSTR,它将字符串的长度存储在EBP寄存器中.该函数的代码如下:
LENSTR PROC
ENTER 0, 0
PUSH EAX
;----------------------
CLD
MOV EDI, DWORD PTR [EBP+08H]
MOV EBX, EDI
MOV ECX, 100 ; Limit the string length
XOR AL, AL
REPNE SCASB ; Find the 0 character
SUB EDI, EBX ; String length including 0
MOV EBX, EDI
DEC EBX
;----------------------
POP EAX
LEAVE
RET 4
LENSTR ENDP
Run Code Online (Sandbox Code Playgroud)
你能在这里解释一下enter和leave命令的用法吗?
我发现之前已经使用过这两个函数,但我不太清楚它们之间的区别.好吧,我知道DrawText需要一个格式化矩形,并且可以进行一些文本格式化,并且只输出起始坐标,是否还有其他差异?
我即将钻研核心土地.我的问题与编程语言有关.我已经看到大多数教程都是用C语言编写的.我目前用C++和Assembly编程.我在C++之前也学过C,但是我没有经常使用它.是否可以使用简单的C++在内核模式下编程而无需使用任何高级构造?基本上我试图避免两种语言之间存在的微小差异(比如boolC中没有,没有自动返回0 main,真正的微小差异).我不会使用模板,类等.那么可以使用简单的C++在内核模式下编程而不会有任何重大烦恼吗?
我希望能够在多台计算机上同步源代码和整个项目(准确地说是 3 个)。我曾尝试使用 git,但一直无法获得无忧的体验,也许是因为我从未在其中付出很多努力。所以,我理想中想要的是:
现在,如果你建议我使用 git/svn,请参考我上面的观点,以向我展示它对我的用处。虽然我不想花很多时间做同步部分,但如果值得的话,我会的。
我不认为这很重要,但我使用 Eclipse、Aptana 和 Visual Studio 2010。
所以我正在制作自定义编辑控件.为了跟踪编辑控件的内容,我使用了动态分配的char数组.
哪种方法更好?为什么?
我终于设法使用richedit和iczelion的教程完成了语法高亮.现在我发现它,它肯定不够快.我想提前一步:自定义编辑控件.但我不知道如何去做.你能告诉我怎么去吗?给我一些信息开始?也许甚至一些教程或建议一些书?
现在我不是要求你们为我拼出来,只是要开始.我将使用C++/ASM/Win32 API.我相信你们中的许多人之前已经制作了自定义编辑控件,所以你甚至可以分享你的经验.
谢谢,
Devjeet
我正在开发一个Win32程序,我在其中加载文本文件.是否可以突出显示编辑框中显示的特定单词?
突出显示,我的意思是,像语法高亮一样改变文本的颜色.
是否可以使用prototype/javascript将id插入div?基本上:
<div> Hello </div>
Run Code Online (Sandbox Code Playgroud)
应成为:
<div id="myId"> Hello </div>
Run Code Online (Sandbox Code Playgroud)
谢谢!