ShellExecute в Windows Embedded - PullRequest
       11

ShellExecute в Windows Embedded

1 голос
/ 21 июня 2011

Я использую

ShellExecute(NULL,"open","control.exe","ncpa.cpl","c:\\windows\\system32\\",SW_NORMAL); 

, чтобы открыть окно «Сетевые подключения».Это работает на моей системе с Windows XP.Но когда я делаю сборку для машины, на которой должна работать эта программа, она не работает.На нем установлена ​​Windows Embedded.Я думаю, это потому, что в Windows Embedded нет control.exe.

Итак, я попытался запустить

ShellExecute(NULL,"open","Rundll32.exe","ncpa.cpl","c:\\windows\\system32\\",SW_NORMAL);

, но это не работает.Он возвращает 42, так что его успех, но все равно ничего не происходит.Я пробовал другие варианты, такие как «ncpa.cpl ,,» и «Rundll32.exe Shell32.dll» вместо «Rundll32.exe», но это тоже не работает.Как я могу использовать ShellExecute, чтобы он работал как на моей машине, так и на Windows Embedded.Даже если есть решение, которое будет работать только на Windows Embedded, это хорошо, так как я просто #define его.

1 Ответ

0 голосов
/ 21 июня 2011

Один из вариантов - пропустить ShellExecute и просто загрузить и вызвать панель управления напрямую, используя точку входа CPlApplet .Протокол, который необходимо соблюдать, задокументирован (с точки зрения панели управления) в MSDN .Тогда вам не понадобится внешнее вспомогательное приложение для запуска панели управления;вы бы просто разместили его прямо в вашем процессе.

...