四个WinAPI测试问题

四个WinAPI测试问题,winapi,messages,Winapi,Messages,下面是一个WinAPI测试小测验的摘录。 我做了很多研究,但没有找到这些问题的答案: 1. Which statement, regarding dynamic link libraries (DLL), is WRONG: a) DLLs can be used to exchange data between applications in Windows b) DLLs can call Windows modules c) DLLs can use DOS

下面是一个WinAPI测试小测验的摘录。 我做了很多研究,但没有找到这些问题的答案:

    1. Which statement, regarding dynamic link libraries (DLL), is WRONG:
    a) DLLs can be used to exchange data between applications in Windows
    b) DLLs can call Windows modules
    c) DLLs can use DOS file functions
    d) DLLs can control a user dialog in Windows

    2. Which statement, regarding the messages in Windows, is WRONG:
    a) messages can be exchanged between the objects of an application
    b) messages can be generated when events happen
    c) messages can be exchanged between applications
    d) messages can be exchanged with the help of temporary queue storage

    3. Which statement, regarding the system message queue, is CORRECT:
    a) it serves for communication and exchange of messages between applications
    b) it serves for exchange of messages between common resources
    c) it serves for temporary storage of messages from the peripheral devices
    d) it serves for communication and exchange of messages between window objects

    4. In order to hide a window or a control, the following function is used:
    a) SetWindowHide
    b) HideWindow
    c) UnshowWindow
    d) DeleteWindow
我绝对肯定问题4是错的。 正确答案是ShowWindow

我几乎可以肯定2根本没有正确的答案

我没有关于这些问题的其他细节或澄清。

  • 1c。DLL主要用于共享公共代码,但其中存储的对象仅在当前映射DLL实例的内存空间中本地可用
  • 2a。这个问题的答案取决于你对这个问题的解释。严格地说你可以。要发送消息,您只需要接收端有一个带有消息循环的窗口来发送消息。例如,WM_COPYDATA是用于在对象之间交换数据的“排序”。如果您将接收窗口视为“对象”,而发送方(不需要是窗口)也视为“对象”,则这不成立
  • 3d。同样,如上所述,这取决于您对“对象”的解释。可以从没有窗口的应用程序发送消息
  • 四,。。没有一个您可以使用SetWindowPos()或更常用的方法 带SW_隐藏的ShowWindow()

这次测验是在学校进行的吗?还是你在网上找到的?你确定这些是逐字逐句的问题吗?因为这是一个写得相当糟糕的测验。特别是因为问题4中列出的函数都不存在于Windows API中。对我来说,这4个问题似乎完全不存在。是的,我确信这些是逐字逐句的问题。写得很糟糕,我完全同意。我不愿意承认这是本地大学的。我对WinAPI没有任何问题,但我觉得无法回答这些问题。我同意上述两种意见。1-这如何防止他们使用DOS文件函数(正如答案所指出的,应该声明一个错误的语句,就像问题所期望的那样)2-但是当你拒绝处理你在一个对象(窗口或其他)中咳嗽并“放开”的消息时,你可以在另一个对象中处理它,这是一种exchange 3-遗憾的是,我没有更多的澄清,正如我所说的,但我同意这一点4-是的,这是错误的。1-MS-DOS API是通过调用int 21访问的,在win32中,您没有usermode的此特权。2,3-我认为这些问题可以由你来解释。谢谢你,迈克。我同意你刚才说的关于2和3的话。案例结束。事实上,#3的答案是C。系统消息队列保存来自键盘和鼠标之类的事件,然后再将它们路由到相应的线程消息队列。有些windows消息不是由硬件外围设备交互生成的。最重要的是,可以模拟来自键盘/鼠标的那些。