Я просто хотел знать, если есть способ сделать программу (или часть программы) неосязаемой с помощью С#. Я хочу сделать так, чтобы люди могли видеть, что программа есть, но если они будут щелкать, она будет щелкать все, что находится под ней. Я также хотел бы знать, можете ли вы сделать это заново. Есть ли способ сделать элемент невидимым, кликабельным?
Благодарим за помощь!
К вашему туманному вопросу я предлагаю смутный ответ:
Похоже, что ваш вариант один возможен. Вам нужно будет отправить событие (сообщение) клика, которое вы получите, в соответствующее окно (под ним под вашим). Я подозреваю, что вам придется использовать DllImport для этого с помощью С#.
Ваш вариант два, хотя и более сложный, вероятно, также возможен, потому что вы можете вводить код в другие исполняемые исполняемые файлы. Это будет привилегированная операция, и вам, скорее всего, снова придется использовать материал из dll dll.NET, чтобы сделать это из С#. См. Три способа вставить код в другой процесс в CodeProject.
Хорошо, поэтому иногда может потребоваться показать что-то на экране и не допускать его щелчка (например, "Экранный экран" для воспроизведения видео, чтобы увеличить громкость и т.д.).
Вот пример того, как это сделать в С# - из codeproject: http://www.codeproject.com/KB/cs/OSDwindow.aspx
Это использует интерфейс Win32 API ShowWindow(hWnd, SW_SHOWNOACTIVATE)
для представления окна без потери фокуса (не может быть выбран).
И вот страница MSDN для этого вызова ShowWindow
Чтобы отобразить невидимое, но интерактивное окно, вы можете использовать окно без рамки (FormBorderStyle = None) и установить прозрачность на 1%.
Надеюсь, что это поможет!