Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2012, 12:04   #1
Артегор
Пользователь
 
Регистрация: 28.06.2011
Сообщений: 24
По умолчанию ShellExecute

кто может объяснить как пользоваться ShellExecute правильно ,почитал на просторах инета думал ,что понял ,но нет .. вот например:

Код:
#include "stdafx.h"
#include "iostream"

#include <windows.h>
#include <Shellapi.h>

void main()
{
ShellExecute(Handle, "Explore", "c:\\Program Files", NULL, NULL,SW_RESTORE);
}
результат : Handle - не определен ,"Explore" и "c:\Program Files" - аргумент типа "const char*" несовместим с параметром типа "LPCWSTR

Последний раз редактировалось Stilet; 06.08.2012 в 14:01.
Артегор вне форума Ответить с цитированием
Старый 04.08.2012, 12:12   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Может, вместо хэндла 0 засунуть? А раз lpcWstr, то значит у вас wide-строка, т.е. unicode. Пишите что-то вроде
Код:
ShellExecute(Handle, L"Explore", L"c:\\Program Files", NULL, NULL,SW_RESTORE);
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 04.08.2012, 12:27   #3
Артегор
Пользователь
 
Регистрация: 28.06.2011
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
Может, вместо хэндла 0 засунуть? А раз lpcWstr, то значит у вас wide-строка, т.е. unicode. Пишите что-то вроде
Код:
ShellExecute(Handle, L"Explore", L"c:\\Program Files", NULL, NULL,SW_RESTORE);
я тоже так думал и уже пробовал такое ,он ничего не подчеркивает ,но все равно при компиляции ошибка
Артегор вне форума Ответить с цитированием
Старый 04.08.2012, 12:32   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

0 то поставили первым параметром?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.08.2012, 12:40   #5
Артегор
Пользователь
 
Регистрация: 28.06.2011
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
0 то поставили первым параметром?
да ,и 0 ставил и NULL.
ошибки :
#.cpp(12): error C2065: SW_RESTORE: необъявленный идентификатор
#.cpp(12): error C3861: ShellExecute: идентификатор не найден
Артегор вне форума Ответить с цитированием
Старый 04.08.2012, 13:15   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Shellapi.h подключен то?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.08.2012, 15:19   #7
Артегор
Пользователь
 
Регистрация: 28.06.2011
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Shellapi.h подключен то?
само собой
Артегор вне форума Ответить с цитированием
Старый 04.08.2012, 22:49   #8
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

В билдере такой код нормально отработал:
Код:
#include <iostream>

#include <windows.h>
#include <Shellapi.h>

void main()
{
ShellExecute(0, "Explore", "c:\\Program Files", NULL, NULL,SW_RESTORE);
}
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 04.08.2012, 23:05   #9
Артегор
Пользователь
 
Регистрация: 28.06.2011
Сообщений: 24
По умолчанию

странно ... у меня нет .
кстати, так на всякий случай , для ShellExecute нужно подключить Shellapi.h то бишь #include <Shellapi.h> . Отдельные модули не нужно подключать ?
Артегор вне форума Ответить с цитированием
Старый 04.08.2012, 23:08   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

скиньте весь код, и полный лог ошибок, не может быть чтоб это были всего 2 ошибки тогда.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ShellExecute frodo-94 Win Api 3 26.08.2010 13:36
ShellExecute siemdi Общие вопросы C/C++ 5 09.08.2010 18:13
ShellExecute arxidevill Общие вопросы Delphi 6 14.07.2010 12:00
ShellExecute san72 Общие вопросы Delphi 6 16.05.2009 22:55
ShellExecute doncova1 БД в Delphi 4 29.11.2006 18:20