我與SendInput
最近的實驗,發現一切都按預期不會對結構將所有值分配給結構有沒有意義?
#include <Windows.h>
int main(int argc, char *argv[]) {
INPUT input;
input.type = 1;
input.ki.wVk = 0x41;
SendInput(1, &input, sizeof(INPUT));
return EXIT_SUCCESS;
}
如果你看一看的INPUT
結構,我使用的MSDN定義分配其他值,它有很多其他變量(除了我設置的唯一的變量type
和wVk
)。
對於該結構中的所有其他字段,是否有類似於input.ki.dwExtraInfo = 0;
的添加?我認爲,默認情況下,當您分配結構時,它會將零寫入內存,因此設置這些變量沒有意義。
「我認爲,默認情況下,當您分配結構時,它會將零寫入內存」 - 錯誤的假設,並不成立。 – user2357112
'INPUT input;'http://en.cppreference.com/w/cpp/language/default_initialization –
爲了更明確一點:執行此操作的有效方法是'INPUT input = {0}',其實際上零每個成員。你不需要知道所有成員的所有名字,這是好事。 – MSalters