我想改进我的SendInput()
功能,但遇到了错误。
ERROR_INVALID_PARAMETER
87 (0x57) The parameter is incorrect.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx
我有点困惑哪个参数不正确。
如果我忘记了什么,请不要犹豫。
INPUT in[6] = {0};
//Press Enter Key
in[0].type = INPUT_KEYBOARD;
in[0].ki.wScan = 0;
in[0].ki.dwFlags = 0;
in[0].ki.time = 0;
in[0].ki.dwExtraInfo = 0;
in[0].ki.wVk = VK_RETURN;
//release enter key
in[1] = in[0];
in[1].ki.dwFlags = KEYEVENTF_KEYUP;
//Hold Shift key and press key 7
in[2].type = INPUT_KEYBOARD;
in[2].ki.wScan = 0;
in[2].ki.dwFlags = 0;
in[2].ki.time = 0;
in[2].ki.dwExtraInfo = 0;
in[2].ki.wVk = VK_SHIFT;
in[3].type = INPUT_KEYBOARD;
in[3].ki.wScan = 0;
in[3].ki.dwFlags = 0;
in[3].ki.time = 0;
in[3].ki.dwExtraInfo = 0;
in[3].ki.wVk = 0x37;
//release key 7
in[4] = in[3];
in[4].ki.dwFlags = KEYEVENTF_KEYUP;
//release key shift
in[5] = in[2];
in[5].ki.dwFlags = KEYEVENTF_KEYUP;
if (SendInput(6, in, sizeof(in)) == 0)
{
std::cout << "Uppps some error in SendInput: " << GetLastError() << std::endl;
}
答案 0 :(得分:4)
INPUT结构的大小(以字节为单位)。如果cbSize不是INPUT结构的大小,则函数将失败。
var grid;
var columns = [
{id: "Date", name: "Date", field: "Date"},
{id: "tpn", name: "tpn", field: "tpn"},
];
var options = {
enableCellNavigation: true,
enableColumnReorder: true,
explicitInitialization: true
};
$(function () {
var data = [];
for (var i = 0; i < 500; i++) {
data[i] = {
Date: "20180612",
SPN:Math.random(),
};
var myGrid = $("<div id='MovementTracker' style='height: 399px; overflow: hidden; outline: 0px; position: relative;'></div>");
grid = new Slick.Grid(myGrid, data, columns, options);
myGrid.appendTo($("#app > div > div > div > div > div.size--5.padding--horizontal--double > div.size--content > div > div > div"));
grid.init();
... Oups
答案 1 :(得分:0)
documentation说cbSize
:
INPUT结构的大小(以字节为单位)。如果cbSize不是INPUT结构的大小,则函数将失败。
您正在传递sizeof(in)
,即整个数组的大小。而是通过sizeof(INPUT)
。