| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > ShellExecute в Win7 |
| Автор: Vetlblya 9.6.2010, 19:17 | ||
| Программа работала нормально под 32-разрядные XP и Vista. Попробовал на 64-разрядной семерке и ShellEcexute отказалась работать. не запускается и не ругается. Может кто сталкивался с такой проблемой, какие методы решения возможны? Запускаю WebMony:
Delphi7 |
| Автор: RomanEEP 9.6.2010, 21:12 |
| Какой код ошибки возращает? |
| Автор: dvamaster 10.6.2010, 08:17 | ||
попробуй добавить операцию open
|
| Автор: Vetlblya 10.6.2010, 08:29 | ||||
пробовал с Open. результат тот же. код на 32-разрядной - 42, на 64-разрядной - 42. |
| Автор: Vetlblya 10.6.2010, 08:56 |
| в нескольких источниках встречал подобную ошибку. в некоторых говорили про права доступа, но решения не давали. какие права и как надо назначить программе? |
| Автор: dvamaster 10.6.2010, 09:06 | ||||
в заголовках нет такой ошибки в МСДН нашел такое http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx в ремарках
|
| Автор: CodeMonkey 10.6.2010, 12:33 | ||
Вам только что сказали, что вы не вызвали CoInitialize(Ex). |
| Автор: Vetlblya 10.6.2010, 13:26 | ||||
как оно вызывается-то? |
| Автор: Vetlblya 10.6.2010, 13:54 |
| вообще у кого-нибудь ShellExecute на 64х битных работала? если работала на какой делфе писали? |
| Автор: Rennigth 10.6.2010, 14:10 |
Обычно в Initialization |
| Автор: Демо 10.6.2010, 14:14 | ||
У меня прекрасно работает в W7 x64. |
| Автор: Vetlblya 10.6.2010, 14:35 | ||
уже голова пухнет, можно более конкретный пример? |
| Автор: CodeMonkey 10.6.2010, 17:47 |
http://lmgtfy.com/?q=Delphi+CoInitialize |
| Автор: Vetlblya 11.6.2010, 18:14 | ||
чтоб тебе так в больнице помогали |
| Автор: CodeMonkey 11.6.2010, 19:23 |
Как вы полагаете вам помогут, если вы не сказали, в чём конкретно у вас затык возник? Более изжёванный вопрос трудно себе представить. По первой ссылке всё прекрасно расписано. |
| Автор: Akella 11.6.2010, 20:18 | ||||
чувак, тише будь, а то бан получишь от модераторов за грубость |
| Автор: Vetlblya 12.6.2010, 09:19 |
Есть люди, которые не живут программированием. Но иногда им приходится написать что-то. Также у них нет знакомых тру-программистов и в английском они не очень сильны. Перед тем как задать вопрос дооолго гуглил и ничего не понял. Мягко говоря задолбался, а проект начинает гореть. И советы пойти в гугл сильно раздражают. Если он не может помочь пусть сидит и не лезет. Если у кого имеется конкретный пример использования CoInitialize помогите, пожалуйста!!! |
| Автор: Rennigth 12.6.2010, 10:34 | ||||
Тебе все уже же сказали... Есть такая функция CoInitialize(на сколько помню описана она в модуле ActiveX). Вообщем случае вызывать ее можно из любого места приложения, но естественно до того как ее вызов требуется. Самое простое или с конструкторе главной формы(если она у тебя есть) или в секции Initialization. Примерно так:
|
| Автор: CodeMonkey 12.6.2010, 13:10 |
Вы может чего не понимаете, но вам тут никто ничего не должен. Вам не приходило в голову, почему люди здесь отвечают за бесплатно? Потому что им интересно отвечать на интересные вопросы. Глупые вопросы - в гугл или за деньги. |
| Автор: Proxin 13.6.2010, 10:34 |
| попробуй createprocess. и, к тому же, у shellexecute есть неприятный баг - в некоторых случаях фокус мыши не передаётся полноэкранному приложению. |