Вы можете сделать это проще, используя array_combine :
$newArray = [];
$keys = ['name', 'sex', 'age', 'height', 'weight'];
foreach (explode(PHP_EOL, Storage::get('upload/test.txt')) as $line) {
$newArray[] = array_combine($keys, explode(',', $line));
}
Или вы можете использовать array_map () и сделать что-то вроде:
[111 ]
Вам необходимо ввести свой собственный код в процесс, которому принадлежат окна, сообщения от которых вы хотите перехватывать. К счастью, SetWindowsHookEx ()
упрощает это, хотя сначала у вас могут возникнуть небольшие проблемы, если вы до сих пор использовали его только для внутрипроцессного подключения.
Я могу порекомендовать две отличные статьи на эту тему:
Если сообщение отправлено, а не отправлено, WH_GETMESSAGE
его не увидит. Вам нужен WH_CALLWNDPROC
. Если вы работаете с несколькими процессами, вам понадобится общесистемный перехватчик в DLL. Вы не упоминаете, как вы вызывали SetWindowsHookEx, поэтому я не знаю, не удалось ли ваше подключение, потому что оно не было глобальным, или потому что сообщение, которое вы искали, было отправлено .
Если вы раньше не работали с общесистемными хуками, у меня есть пример общесистемных хуков на моем веб-сайте здесь . Это клавиатурный крючок, но принцип тот же.
Остановите меня, если я непреднамеренно говорю здесь - ваш вопрос был настолько коротким, что я не могу сделать вывод о вашем уровне знаний. Но возиться с крючками действительно требует некоторого опыта ...