загрузить htm-файл
Люди, возникла у меня такая проблемка: надо в программе вызывать справку для пользователя. Она есть в htm файле. Но не понял, как его загрузить через средства Builder'а. Может, кто подскажет?
если просто, можно так:
PROCESS_INFORMATION ProcInfo;
StartInfo.cb = sizeof(StartInfo);
StartInfo.dwFlags = STARTF_USESHOWWINDOW;
StartInfo.wShowWindow = SW_HIDE;
AnsiString FilePath = "explorer.exe c:\\1.htm";
CreateProcess(NULL, FilePath.c_str(), NULL, NULL, false,
CREATE_NEW_CONSOLE | HIGH_PRIORITY_CLASS, NULL, NULL, &StartInfo,
&ProcInfo);
CloseHandle(ProcInfo.hProcess);
если просто, можно так:
PROCESS_INFORMATION ProcInfo;
StartInfo.cb = sizeof(StartInfo);
StartInfo.dwFlags = STARTF_USESHOWWINDOW;
StartInfo.wShowWindow = SW_HIDE;
AnsiString FilePath = "explorer.exe c:\\1.htm";
CreateProcess(NULL, FilePath.c_str(), NULL, NULL, false,
CREATE_NEW_CONSOLE | HIGH_PRIORITY_CLASS, NULL, NULL, &StartInfo,
&ProcInfo);
CloseHandle(ProcInfo.hProcess);
а что простой ShellExecute уже не в почёте? :)
а что простой ShellExecute уже не в почёте? :)
во-первых, где ты раньше был!
а во-вторых, для использования ShellExecute, если мне память не изменяет, нужно хидер цеплять, а CreateProcess апишная!
во-первых, где ты раньше был!
а во-вторых, для использования ShellExecute, если мне память не изменяет, нужно хидер цеплять, а CreateProcess апишная!
ShellExecute тоже "API-шная". Далее про API - почему не использовать специально предназначенное для этого (HTML Help) API?
ShellExecute тоже "API-шная". Далее про API - почему не использовать специально предназначенное для этого (HTML Help) API?
сорри за неточность! :)
почему не использовать специально предназначенное для этого (HTML Help).
их и правильно, и надо использовать, я никогда не делал, а указал, как можно сделать просто, я не говорил, что это самое правильное решение.
для полного счастья, если знаешь как, приведи код, думаю всем будет полезно, и когда мне это нужно будет я буду знать в каком месте искать :)
сорри за неточность! :)
их и правильно, и надо использовать, я никогда не делал, а указал, как можно сделать просто, я не говорил, что это самое правильное решение.
для полного счастья, если знаешь как, приведи код, думаю всем будет полезно, и когда мне это нужно будет я буду знать в каком месте искать :)
Example
The following example calls the HH_DISPLAY_TOPIC command to open the help file named Help.chm and display its default topic in the help window named Mainwin. Generally, the help window specified in this command is a standard HTML Help Viewer.
HtmlHelp(
GetDesktopWindow(),
"c:\\Help.chm::/Intro.htm>Mainwin",
HH_DISPLAY_TOPIC,
NULL) ;
во-первых, где ты раньше был!
а во-вторых, для использования ShellExecute, если мне память не изменяет, нужно хидер цеплять, а CreateProcess апишная!
ну во-первых, раньше я на форуме не искал инфу одну :), а во-вторых использовать shellapi.h это совсем не тоже самое, что использовать например vcl.h ((:
ну во-первых, раньше я на форуме не искал инфу одну :), а во-вторых использовать shellapi.h это совсем не тоже самое, что использовать например vcl.h ((:
ну так если в Билдере создать проект, то vcl.h цепляется "автоматом", а shellapi.h нужно будет подключать!
А вообще правильно делать, как GIZMO показал. :)
ну так если в Билдере создать проект, то vcl.h цепляется "автоматом", а shellapi.h нужно будет подключать!
А вообще правильно делать, как GIZMO показал. :)
вас что не учили как пользоваться #include'ом? а то вы так его боитесь, будто он вас укусит... да и вобще - сравните как изменяется приложение после подключения vcl и shellapi - в каком случае изменений меньше??? какой из хэадеров добавляет меньше когда к приложению (а значит и меньше КБ)???и не старайтесь утверждать, что vcl форева и все такое - все лучшее нужно делать руками, а vcl это чтоб не мучится с окнами, да и сформами вобще... З.Ы. Посмотрите как отреагирует vcl, если вы создадите новую форму (или хотя бы откроете) в отдельном потоке??? ну как - понравилось?
вас что не учили как пользоваться #include'ом? а то вы так его боитесь, будто он вас укусит... да и вобще - сравните как изменяется приложение после подключения vcl и shellapi - в каком случае изменений меньше??? какой из хэадеров добавляет меньше когда к приложению (а значит и меньше КБ)???и не старайтесь утверждать, что vcl форева и все такое - все лучшее нужно делать руками, а vcl это чтоб не мучится с окнами, да и сформами вобще... З.Ы. Посмотрите как отреагирует vcl, если вы создадите новую форму (или хотя бы откроете) в отдельном потоке??? ну как - понравилось?
если хочется потрепаться то Вам сюда: треп
а если читать не умеете, то ничем помочь не могу.
Считаю тему исчерпаной!
вас что не учили как пользоваться #include'ом? а то вы так его боитесь, будто он вас укусит... да и вобще - сравните как изменяется приложение после подключения vcl и shellapi - в каком случае изменений меньше??? какой из хэадеров добавляет меньше когда к приложению (а значит и меньше КБ)???
Вообще не понял? ТЫ про что?
и не старайтесь утверждать, что vcl форева и все такое - все лучшее нужно делать руками, а vcl это чтоб не мучится с окнами, да и сформами вобще...
Гы-гы...
//хочешь сказать это сделано руками
STARTUPINFO StartInfo = {sizeof(TStartupInfo)};
//а это как я понимаю вовсе не VCL
AnsiString FilePath = "explorer.exe c:\\1.htm";
//VCL форева!
З.Ы. Посмотрите как отреагирует vcl, если вы создадите новую форму (или хотя бы откроете) в отдельном потоке??? ну как - понравилось?
Ща попробую.
если хочется потрепаться то Вам сюда: треп
а если читать не умеете, то ничем помочь не могу.
Считаю тему исчерпаной!
я это про рассуждения о том, что для использования ShellExecute надо подключать библиотеку, и, как я понял, в этом увидели недостаток :)
Вообще не понял? ТЫ про что?
Гы-гы...
//хочешь сказать это сделано руками
STARTUPINFO StartInfo = {sizeof(TStartupInfo)};
//а это как я понимаю вовсе не VCL
AnsiString FilePath = "explorer.exe c:\\1.htm";
//VCL форева!
Ща попробую.
да я полностью уверен, что все что сделано своими руками - гараздо лучше всех компонентов быстрой разработки. Другое дело - какими руками и от куда эти руки растут. Именно поэтому, наверна, и возникают такие высказывания(к стати не ваши, но из этой темы :)):"ну так если в Билдере создать проект, то vcl.h цепляется "автоматом", а shellapi.h нужно будет подключать!
А вообще правильно делать, как GIZMO показал.". Еще один плюс во всем, что сделал своими руками-это то, что ты знаешь что и как делается, а не полагаешься на кого-то там, которому хоть и заплатили за какой-то компонент, но от этого ведь, кроме него смого, опыта не у кого не прибавилось, правильно или можете поспорить? Да, к стати - VCL, по-моему, нужен, но только для стандартных компонентов не больше, но и не меньше...
З.Ы. к стати, я это все начал только из-за, на мой взгляд, довольно глупых высказываний что "для того чтобы сделать так, надо подключить библиотеку, а вот как сказал GIZMO - так правльно", но никто не сказал, что чтобы использовать HtmlHelp() надо подключать htmlhelp.h, или я это пропустил???
да я полностью уверен, что все что сделано своими руками - гараздо лучше всех компонентов быстрой разработки. Другое дело - какими руками и от куда эти руки растут. Именно поэтому, наверна, и возникают такие высказывания(к стати не ваши, но из этой темы :)):"ну так если в Билдере создать проект, то vcl.h цепляется "автоматом", а shellapi.h нужно будет подключать!
А вообще правильно делать, как GIZMO показал.". Еще один плюс во всем, что сделал своими руками-это то, что ты знаешь что и как делается, а не полагаешься на кого-то там, которому хоть и заплатили за какой-то компонент, но от этого ведь, кроме него смого, опыта не у кого не прибавилось, правильно или можете поспорить? Да, к стати - VCL, по-моему, нужен, но только для стандартных компонентов не больше, но и не меньше...
З.Ы. к стати, я это все начал только из-за, на мой взгляд, довольно глупых высказываний что "для того чтобы сделать так, надо подключить библиотеку, а вот как сказал GIZMO - так правльно", но никто не сказал, что чтобы использовать HtmlHelp() надо подключать htmlhelp.h, или я это пропустил???
Еще раз повторю - для флуда есть отдельная тема на форуме. Какие файлы подключать в проект, что бы использовать ту или иную функцию - для этого есть хелп и описания. Тема закрыта.
З.Ы. А выражения типа "VCL, по-моему, нужен, но только для стандартных компонентов не больше, но и не меньше..." вполне годятся для юмора.