Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
2 / 2 / 2
Регистрация: 29.10.2013
Сообщений: 80
1

Передать имя файла из ofn.lpstrFile в качестве аргумента командной строки процессу блокнот

04.06.2016, 16:35. Показов 681. Ответов 0

Бьюсь полдня, гугл дымится.

Код:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
 
case IDM_NOTEPAD_TEXT:
                            {
                                PROCESS_INFORMATION pi;
                                STARTUPINFO sti;
                                ZeroMemory(&sti, sizeof(STARTUPINFO));
                                sti.cb = sizeof(STARTUPINFO);
 
                                
                                //-----
                                OPENFILENAME ofn; // структура для стандартного диалога
                                //char szFile[260];  // буфер для имени файла                             
                                //wchar_t wtext[500];
                                //mbstowcs(wtext, szFile, strlen(szFile) + 1);//Plus null
                                //LPWSTR ptr = wtext;
                                TCHAR szFile[260];
                                
                                //HWND hwnd; // дескриптор окна – владельца диалога
                                HANDLE hf;  // дескриптор файла
                                            // Инициализация OPENFILENAME
                                ZeroMemory(&ofn, sizeof(ofn));
                                ofn.lStructSize = sizeof(ofn);
                                ofn.hwndOwner = hWnd;
                                ofn.lpstrFile = szFile;
 
                                ofn.lpstrFile[0] = '\0';
                                ofn.nMaxFile = sizeof(szFile);
                                ofn.lpstrFilter = TEXT("All\0*.*\0Text\0*.TXT\0");
                                ofn.nFilterIndex = 1;
                                ofn.lpstrFileTitle = NULL;
                                ofn.nMaxFileTitle = 0;
                                ofn.lpstrInitialDir = NULL;
                                ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
                                                    
                                if (GetOpenFileName(&ofn)) {
                                    MessageBox(NULL, ofn.lpstrFile, L"Error", 1);
// Здесь выводит нормальный путь к файлу
                                    
                                    bool fSuccess = CreateProcess(ProcImage[2], ofn.lpstrFile, NULL, NULL, 0, 0, NULL, NULL, &sti, &pi);
// здесь блокнот не хочет его есть, говорит, что не находит документа по такому пути
                                    if (fSuccess)
                                    {
                                        ProcHandle[2] = pi.hProcess;
                                        ProcID[2] = pi.dwProcessId;
                                        ThreadID[2] = pi.dwThreadId;
                                        ThreadHandle[2] = pi.hThread;
                                    }
                                    
                                 }
                                
                                break;
                            }
 
...
Собственно, проблема: не могу заставить блокнот открыть файл по переданной ему строке пути к файлу.

Сейчас скриншоты прицеплю.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Передать имя файла из ofn.lpstrFile в качестве аргумента командной строки процессу блокнот   Передать имя файла из ofn.lpstrFile в качестве аргумента командной строки процессу блокнот  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2016, 16:35
Ответы с готовыми решениями:

NASM - передать имя файла для инклюда как макрос из командной строки
Привет! Достался мне в наследство код, написанный на nasm'е. Для компиляции используется такая...

Передать путь в качестве параметра командной строки
Что нужно исправить чтобы при запуске программы через командную строку с параметром, параметр...

Написать функцию, которая читает массив словарей из файла в качестве аргумента принимает имя файла
Написать фyнцию, которая читает массив словарей из файла в качестве аргyмента принимает имя файла....

Написать программу которая читает из командной строки два аргумента: имя переменной и значение этой переменой
Написать программу которая читает из командной строки два аргумента : имя переменной и значение...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2016, 16:35

Как передать имя каталога через параметры командной строки?
Всех приветствую и вновь обращаюсь к вашей помощи! Текст задания сам вот какой - Вывести на экран...

Файл: Передать файл в качестве параметра командной строки в программу
Есть программа с файлом(Eclipse) import java.io.*; public class clj { } class ShowFile {...

Аргумент командной строки – имя входного файла
Помогите, пожалуйста с реализацией. Необходимо создать консольное приложение с единственным...

Имя файла как аргумент командной строки
Здравствуйте! Программа получает имя файла как аргумент командной строки, причем при...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.