Форум программистов, компьютерный форум CyberForum.ru

Как программно открыть папку? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.75
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
09.02.2011, 19:59     Как программно открыть папку? #1
мне надо сделать, что бы при запуске программы, открывалась определённая папка, например:
моя программа находится в папке MyProgram, в этой папке есть папка 2011, а в папке 2011 - папка February.
Вот, хотелось бы сделать так, что бы после запуска программы, открылась папка February, причём, желательно это сделать так, что бы не закрывать папку MyProgram если она открыта, что бы была возможность вернуться назад, так можно сделать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
09.02.2011, 20:01     Как программно открыть папку? #2
Xtir, под какую ОС надо?
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
09.02.2011, 20:04  [ТС]     Как программно открыть папку? #3
Windows XP
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
09.02.2011, 22:18     Как программно открыть папку? #4
через оператор system
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
09.02.2011, 22:37     Как программно открыть папку? #5
Цитата Сообщение от Xtir Посмотреть сообщение
Вот, хотелось бы сделать так, что бы после запуска программы, открылась папка February
В смысле - программа должна работать с файлами в этой папке? Тогда вот: SetCurrentDirectory. Или окошко в проводнике должно открыться?
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
09.02.2011, 22:50  [ТС]     Как программно открыть папку? #6
примерно вот так сделал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "stdafx.h"
 
CString months[] = {"","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Okt","Now","Dec"};
 
void main()
{
    CString year, mon;
    CString current_dir,open_dir;
    TCHAR buffer[MAX_PATH];
    GetCurrentDirectory(sizeof(buffer),buffer);
 
    CTime time = CTime::GetCurrentTime();
 
    year.Format("%d",time.GetYear());
    mon.Format("%s\\%s", year,months[time.GetMonth()]);
 
    CreateDirectory(year,NULL);
    CreateDirectory(mon,NULL);
 
    current_dir.Format("%s",buffer);
    open_dir.Format("%s\\%s",buffer,mon);
 
    ShellExecute(NULL,"open",open_dir,"","",SW_SHOW);
    ShellExecute(NULL,"close",current_dir,"","",SW_HIDE);
};
запускаю программу, в ней создаётся папка 2011(текущий год), в папке 2011 создаётся папка Feb(текущий месяц), открывается только что созданная нами директория. Вот вроде то, то мне и нужно было
только вот почему-то текущая директория, из которой запущена программа, не закрывается, как её можно закрыть? )
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
10.02.2011, 04:50     Как программно открыть папку? #7
Цитата Сообщение от Игорь с++ Посмотреть сообщение
через оператор system
нет такого оператора
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
10.02.2011, 10:10  [ТС]     Как программно открыть папку? #8
Цитата Сообщение от Nameless One Посмотреть сообщение
нет такого оператора
он хотел сказать функция

а насчёт закрытия папки, никто не знает что ли? пробовал SendMessage, PostMessage, но не помогло, мб неправильно делаю?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2011, 10:30     Как программно открыть папку?
Еще ссылки по теме:

Как очистить папку от всех файлов C++
Как программно открыть текстовый файл в блокноте? C++
Как создать папку в неизвестной директорий C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
10.02.2011, 10:30     Как программно открыть папку? #9
Цитата Сообщение от Xtir Посмотреть сообщение
а насчёт закрытия папки, никто не знает что ли?
Ищите по заголовку хэндл окна и ему WM_CLOSE какое-нибудь отправляйте... Как-нибудь...
Yandex
Объявления
10.02.2011, 10:30     Как программно открыть папку?
Ответ Создать тему
Опции темы

Текущее время: 15:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru