Процесс. Запустите (“IEXPLORE.EXE”) сразу запускает событие Exited после запуска.. почему?

Мы просто недавно выпустили бета-версию Выпуск TheBeerHouse MVC, который должен дать Вам некоторые яркие примеры. Существует также книга записанное объяснение всего, но необходимо будет ожидать немного дольше, чтобы это вышел :D.

12
задан RameshVel 1 December 2009 в 10:39
поделиться

3 ответа

Помните, что SnapsToDevicePixels только контролирует, чтобы отдельные точки не лежали на дробных значениях пикселей. Для горизонтальных и вертикальных линий это легче всего заметить. В вашем случае вы видите совершенно другую проблему. Края ваших фигур сглаживаются и, следовательно, смешиваются с фоном. Поскольку ваши фигуры точно примыкают друг к другу, они будут смешаны с белым фоном окна. Вместо этого вы можете попробовать поместить одну фигуру позади другой:

<Canvas>  
      <Path Fill="#FF000000" Data="M 0.00,0.00 L 7.50,0.00 2.50,10.00 0.00,10.00 " />
      <Path Fill="#FF260014" Data="M 2.50,0.00 L 7.50,0.00 2.50,10.00 0.00,10.00 " />
      <Canvas.RenderTransform>
           <ScaleTransform ScaleX="{Binding ElementName=slider,Path=Value}" ScaleY="{Binding ElementName=slider,Path=Value}" />
      </Canvas.RenderTransform>
</Canvas>

, которая должна отображаться правильно. попробуйте запустить процесс с параметром командной строки "-nomerge":

    Process objProcess = Process.Start("IEXPLORE.EXE", "-nomerge http://google.com/");

Интересное наблюдение : objProcess.ExitCode (по крайней мере для IE8) будет равен 0 , если завершится передача управления другому экземпляру и 1 , если он был фактически закрыт пользователем.

21
ответ дан 2 December 2019 в 06:08
поделиться

Может быть, IEXPLORE сам запускает другой процесс для URL-адреса и завершает созданный вами процесс? Как форк в Unix?

1
ответ дан 2 December 2019 в 06:08
поделиться

Если на машине уже запущен другой экземпляр iexplore.exe, новые экземпляры будут подключаться к нему и немедленно завершать работу. Также возможно, что даже в случае, когда iexplore не запущен, многопроцессорная архитектура Internet Explorer 8 имеет родительский процесс запуска дочернего брокера и немедленно завершает работу.

Но эти ответы не относятся к делу. Вам не следует запускать Internet Explorer напрямую. Если пользователь настроил другой браузер по умолчанию, он будет недоволен тем, что вы игнорируете его предпочтения. Вместо этого, почему бы вам не попробовать

System.Diagnostics.Process.Start("http://google.com");

напрямую, и это будет правильно. Вы не сможете определить, когда браузер закрылся, но если команда открыла новую вкладку в существующем сеансе браузера, например,

3
ответ дан 2 December 2019 в 06:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: