Как определить, является ли EXE WPF

Они - условия от двух различных доменов: 'порт' является понятием от сетей TCP/IP, 'сокет' является API (программирование) вещь. 'Сокет' сделан (в коде) путем взятия порта и имени узла или сетевого адаптера и объединения их в структуру данных, которую можно использовать, чтобы отправить или получить данные.

6
задан JamesM 16 July 2009 в 08:59
поделиться

4 ответа

Хотя обычно приложение может быть классифицировано как «приложение WPF или WinForms», взаимодействие возможно, так что приложение WinForms может «размещать» элементы управления WPF и наоборот. Поскольку ваше приложение выглядит так, как будто оно ссылается на оба набора сборок, оно могло использовать оба. Просто кое-что, о чем нужно знать.

В любом случае, я только что открыл один из своих проектов WPF в Reflector , и некоторые очевидные признаки того, что это приложение WPF:

1) Есть ] App класс, имеющий StartupUri , который представляет собой файл Xaml (например, этот)

public class App : System.Windows.Application
{
    // Methods
    [DebuggerNonUserCode]
    public void InitializeComponent()
    {
        base.StartupUri = new Uri("Window1.xaml", UriKind.Relative);
    }

2) В EXE

3) В «папке» Resources находятся файлы .baml (вероятно, в пределах <

6
ответ дан 9 December 2019 в 20:47
поделиться

Вы можете проверить .exe с кодом, вам не нужен Reflector.

Просто найдите тип в сборке .exe, который унаследован от класса System.Windows.Application от dll PresentationFramework (вы можете сделать это с отражением).

Теперь это не стопроцентный метод, поскольку теоретически кто-то может создать класс, наследующий от класса приложения wpf, а затем не запускать приложение. Определенный способ - проверить в Reflector, вызывается ли метод Run () этого класса.

А программный способ проверить, является ли текущее приложение, в котором выполняется ваш код, приложением wpf, выглядит следующим образом:

public static bool IsWpfApplication
{
    get { return System.Windows.Application.Current != null; }
}
3
ответ дан 9 December 2019 в 20:47
поделиться

Откройте его с помощью отражателя и посмотрите, ссылается ли он на одну из DLL PresentationFramework (тогда это, скорее всего, WPF) или System.Windows.Forms.dll. Обратите внимание, что приложения могут ссылаться на оба - в этом случае вы не можете точно сказать.

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

2
ответ дан 9 December 2019 в 20:47
поделиться

Как правило, один мертвый выдает то, что приложения WPF, как правило, имеют другой вид прямоугольника фокуса на сфокусированных элементах, таких как кнопки или списки. Стандартный прямоугольник фокуса Windows имеет ширину 1 пиксель, и в приложениях WPF он выглядит ... иначе.

Кроме того, приложения WPF визуализируют большинство элементов в растровые изображения памяти всякий раз, когда им нужно выполнить какую-либо анимацию, и это приводит к «нечеткому», почти сглаженному виду всякий раз, когда конкретная анимация имеет место и отображается на экране. Этот эффект заметен в таких вещах, как выделение меню, прокрутка или общий текст кнопки после нажатия.

1
ответ дан 9 December 2019 в 20:47
поделиться
Другие вопросы по тегам:

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