На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела FAQ в группе разделов С++.
1. Раздел FAQ предназначен для публикации готовых статей.
2. Здесь нельзя задавать вопросы, для этого существуют соответствующие разделы:
Чистый С++
Visual C++ / MFC / WTL / WinApi
Borland C++ Builder
COM / DCOM / ActiveX / ATL
Сопутствующие вопросы
3. Внимание, все темы и сообщения в разделе премодерируются. Любое сообщение или тема будут видны остальным участникам только после одобрения модератора.
Модераторы: B.V., Qraizer
  
> Авторун HTML , простой, дешевый и сердитый
    CD Autorun для HTML страниц

    Быстро, дешево, и (ну, может, и не очень) сердито.
    Создаете HTML страницу, где и размещаете всю информацию.
    Для автозапуска в корневой каталог диска (можно даже диска С ;) ) необходимо поместить 3 файла:
    autorun.inf - кстати, неплохо бы почитать спецификацию. Там можно добавлять разные полезные мелочи.
    любоеимя.exe - исполняемый файл, который также может содержать иконку для диска.
    любоеимя.htm - отображаемая страница.

    Также можно иконку диска поместить в отдельный файл любоеимя.ico Так надежнее.

    Файл autorun.inf

    ExpandedWrap disabled
      [AUTORUN]
      ICON=любоеимя.ico        если иконка отдельно или ICON=autorun.exe,1 если встроенная
      OPEN=любоеимя.exe    

    Исходник файла ЕХЕ

    ExpandedWrap disabled
      #include <windows.h>
      #include "resource.h" //тут прописана иконка и инфа о версии
      #include <shellapi.h>
       
      int APIENTRY WinMain(HINSTANCE hInstance,
                           HINSTANCE hPrevInstance,
                           LPSTR     lpCmdLine,
                           int       nCmdShow)
      {
          // TODO: Place code here.
          ShellExecute(NULL, "open", "index.htm", NULL, NULL, SW_SHOWNORMAL);
          return 0;
      }


    Пример в аттаче

    ЗЫ: Я обещал именно простой, дешевый и сердитый Авторун. :P
    Сообщение отредактировано: glasspoint -

    Прикреплённый файлПрикреплённый файлsample.zip (20.83 Кбайт, скачиваний: 286)
      А почему нельзя так:
      Цитата

      [AUTORUN]
      ICON=любоеимя.ico
      OPEN=любоеимя.htm

      В параметре open сразу давать линк на страницу в смысле :)
      Думаю куда проще сразу запускать htm'ку, чем еще exe-шник грузить. И оба варианта одинаково работают.
      Лучше думаю статью переделать не в Авторун ХТМЛ, а в просто авторун и на примере этого автос...руна рассматривать exe-прогу :)
      Так грузить ХТМЛ хорошо, если хочешь например сплешскрин в начале сделать. Или в проге прямо хтмлку как надо показывать, а не в дефолтовом браузире.
        [AUTORUN]
        ICON=любоеимя.ico
        OPEN=любоеимя.htm


        Ну, наверно, да, но... Это ведь общий пример... И он обязан иметь некоторые особенности.
        А вдруг работать не будет ...
        или ошибка какая вылезет...
        Или еще чего надо будет...
        Что ж теперь, на каждый вариант свой INF приводить? ЕХЕ сподручнее и стандартнее...
        Да и чего-то не работал твой вариант у меня. Я его еще при разработке первым делом пробовал. Думаешь, охота прогу писать, пусть даже такую?
        Статью переделать можно, конечно, но вот авторун писать серьезный ни к чему. Его можно с тем же успехом содрать с отечественных (пиратских)дисков, коих у нас в регионах - просто есть уже нечем. И сложность приспосабливания их к конкретным задачам - вполне сопоставимая с любым другим, написанным специально для статьи.
        И вообще, я заявлял простой, дешевый и сердитый.. Общие принципы показаны, задел для творчества дан. Что еще требуется? Не HTML? Пожалуйста, переделайте ЕХЕ, и все. Что ж теперь, и программированию учить? Или объяснять, что 2 + 2 = 4? Помилуйте, я же не могу расписывать все то, до чего несложно и так додуматься.
        Другое дело, что возможности INF можно описать. Там действительно много полезного есть.
        Если народ потребует, я изготовлю более-менее описание.
        Сообщение отредактировано: glasspoint -
          Ув. glasspoint! все намного проще
          Такую программу как ваша уже давно придумали
          и называется она c:\windows\command\start.exe

          а делается так (дешево и сердито):

          [AUTORUN]
          ICON=любоеимя.ico
          OPEN=START любоеимя.htm
            Возможно ошибаюсь

            OPEN=любоеимя.htm
            - не работает по 98.

            OPEN=START любоеимя.htm
            START.exe не всегда идет в комплекте или не работает при таком вызове.(под ME)
              Можно вообще делать hta приложение. Практически обычный html файл с расширением hta. Попробуйте, например, сохранить следующий код в файл с расширением hta:

              ExpandedWrap disabled
                <html>
                 
                <head>
                <title>Microsoft Visual FoxPro Setup</title>
                <HTA:APPLICATION ID="VFP8START_HTA" APPLICATIONNAME="VFP8START_HTA" WINDOWSTATE="normal">
                </head>
                 
                <body background="webart.jpg" topmargin="10" leftmargin="10">
                <FRAME APPLICATION="yes">
                <h1><font face="Tahoma"><span style="font-weight: 400">Microsoft Visual FoxPro 8.0
                 
                Setup</span></h1>
                <p> </p>
                <p><b>Welcome to Visual FoxPro 8.0!</b></p>
                <p><font size="2">The information on this page will help you install all of the components <br>
                provided with Visual FoxPro 8.0.</p>
                <p>For additional setup information and late-breaking product information,
                consult the <a HREF="Readme.htm">Visual FoxPro Readme</a>.</p>
                <ul>
                  <li><b><a href="setup.exe" onclick="RunSetupApp(1)">Install Visual FoxPro</a></b> <br>
                  Select this link to launch the Visual FoxPro Installation wizard. To install Visual
                  FoxPro components, including any required software components, follow the instructions in the Installation wizard.<br>
                  </li>
                  <p></p>
                  <li><b><a href="InstallShield/setup.exe" onclick="RunSetupApp(2)">Install InstallShield Express</a></b>
                  <br>
                  A special Visual FoxPro version of InstallShield Express is provided to facilitate
                  the packaging and deployment of the applications you create using Visual FoxPro.
                  Select this link to install the InstallShield deployment program. <br>
                  </li>
                  <p></p>
                  <li><b><a href="SOAP Toolkit/soapsamp.msi" onclick="RunSetupApp(4)">Install SOAP 3.0 Samples</a></b>
                  <br>
                  Visual FoxPro provides support for your applications to consume Web services over
                  the Internet. You can also create and publish Web services from your Visual FoxPro
                  COM servers. The SOAP 3.0 SDK is installed by the Visual FoxPro 8 setup.
                  Select this link to install the SOAP Samples.<br>
                  </li>
                  <p></p>  <li><b><a href="SQLMSDE/setup.exe" onclick="RunSetupApp(5)">Install Microsoft SQL Server 2000 Desktop
                  Engine (MSDE)</a></b> <br>
                  Select this link to install MSDE, the desktop version of SQL Server 2000. <br>
                  </li>
                </ul>
                </font></font>
                </FRAME>
                </body>
                 
                <script language="VBScript">
                Function RunSetupApp(nAppValue)
                  Dim oWScript
                  Set oWScript = CreateObject("WScript.Shell")
                  SELECT CASE nAppValue
                    CASE 1  oWScript.Run("setup.exe")
                    CASE 2  oWScript.Run("InstallShield\setup.exe")
                    CASE 4  oWScript.Run("SOAPToolkit\soapsamp.msi")
                    CASE 5  
                    IF MSGBOX("Would you like to Install MSDE now?",36,"Install")=6 THEN
                        oWScript.Run("SQLMSDE\setup.exe")
                    END IF
                  END SELECT
                  oWScript = null
                  window.event.returnValue = false
                End Function
                </script>
                 
                </html>
                Для современных виндов это вообще не нужно:
                Цитата
                shellexecute
                Version 5.0. The shellexecute command specifies an application or data file that AutoRun will use to call ShellExecuteEx.

                ExpandedWrap disabled
                  shellexecute=[filepath\]filename[param1, [param2]...]

                Parameters
                filepath
                A string that contains the fully qualified path of the directory that contains the data or executable file. If no path is specified, the file must be in the drive's root directory.

                filename

                A string that contains the file's name. If it is an executable file, it is launched. If it is a data file, it must be a member of a file class. ShellExecuteEx launches the default command associated with the file class.

                paramx
                Contains any additional parameters that should be passed to ShellExecuteEx.

                Remarks
                This command is similar to open, but it allows you to use file association information to run the application.
                  Вы будет смеяться, но способ, укзанный в первом топике, единственно реальный для ВСЕХ версий виндов. Сам так себе делал.

                  Указанный p_kolya способ самый очевидный, но у меня ни разу не прошло :-(

                  Способ Andrew также не работает под 98.

                  Так что выбор за вами - работа в некоторых Наиболее Новых И Правильных Виндах или во всех...
                    Цитата pigas @
                    OPEN=START любоеимя.htm

                    А я делал вот так:
                    ExpandedWrap disabled
                      OPEN=explorer любоеимя.htm

                    barazuk
                    Как думаешь, во всех виндах пойдет? ;)
                      Цитата Der Meister @
                      Как думаешь, во всех виндах пойдет?


                      Будеш смеяться, только что дома попробовал - прошли оба варианта. Хотя точно помню, что на работе

                      Цитата Der Meister @
                      Цитата (pigas @ 28.01.06, 01:15)
                      OPEN=START любоеимя.htm


                      точно не работало... Мистика... [Маст-дай...]
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0710 ]   [ 15 queries used ]   [ Generated: 30.04.24, 09:55 GMT ]