标签: minimized

WPF:即使明确设置WindowState,窗口也会保持最小化

我的应用程序有一个托盘图标,双击时会隐藏或显示应用程序窗口.我的问题是,如果隐藏窗口处于最小化状态,我似乎无法将窗口置于前台.

例如,假设用户最小化应用程序,然后双击托盘图标.然后隐藏应用程序窗口并从任务栏中消失.当用户再次双击托盘图标时,应该出现应用程序窗口,即应该从最小化状态恢复并将其带到前台.

下面的代码应该这样做,但由于某种原因,它不会:

private void TrayIcon_DoubleClick(object sender, EventArgs e)
{
    if (this.Visibility == Visibility.Hidden)
    {
        this.Visibility = Visibility.Visible;
        this.WindowState = WindowState.Normal;
        this.Activate();
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

应用程序保持最小化,不会被带到前台.Activate()返回true,后续调用TrayIcon_DoubleClick()表示状态确实设置为Normal.

wpf restore windowstate minimized

9
推荐指数
1
解决办法
7627
查看次数

使用C#和AutoIt将消息发送到Flash游戏

我正在为Flash游戏制作机器人,我已经想出如何将所有AutoIt函数导入到我的C#代码中.

string title = "Minesweeper";
string full = auto.WinGetTitle(title,"");
string handle = auto.WinGetHandle(full, "");
if (auto.WinExists(full, "") == 1)
    textBox1.Text = "window exists";
addressBox.Text = full;

for (int r = 1; r < 40; r++)
{
    auto.ControlClick(full, "", "", "left", 2, r * 10, r * 10);
    //auto.ControlClick(handle, "", "", "left", 2, r * 10, r * 10);
}
Run Code Online (Sandbox Code Playgroud)

(我很确定未注释的那个应该是带句柄的那个,反之亦然,但这适用于扫雷.)

因此它适用于扫雷并且不要求它成为活动窗口.当我尝试使其在我的Flash游戏上运行时,它需要Internet Explorer窗口是活动的.这是Flash需要的东西还是还有一些额外的功能可以让游戏最小化时使其工作?

这不必使用AutoIt导入来完成.我也曾在user32 尝试过SendMessage,但这对我来说根本不适用于Flash内容.

我刚刚在随机网站上测试了这个,而不是Flash网站或Minesweeper,并且出于某种原因,如果我从Autoit脚本程序中执行它,而不是来自我的C#程序,代码可以正常运行...

2012年6月20日:我很确定这与句柄传递的方式有关.我已经做了一些测试,调用AutoIt EXE文件并使用我从C#代码获取的句柄作为参数,我必须添加一个0x,然后在AutoIt代码中我必须从字符串转换为一个HWnd,所以这可能是某种东西,在这种情况下我不知道该怎么做,因为导入的函数依赖于句柄的字符串输入.

c# flash bots minimized

6
推荐指数
1
解决办法
5851
查看次数

窗口最小化时保留HTML页面的定位

我的页面有问题.
每当我最小化窗口时,所有元素的定位都会消失,事情会变得扭曲.

html css position window minimized

6
推荐指数
1
解决办法
3万
查看次数

如何使用Autohotkey最小化Spotify歌曲?

如何在Spotify歌曲最小化时为其加注星标?

好的,即使应用程序窗口当前处于活动状态,Windows上的Spotify应用程序也没有内置的全局热键和非常基本的热键支持.令人沮丧地"主演"当前播放的歌曲没有键盘快捷键,即使窗口处于活动状态.

所以我有一个Autohotkey脚本,它为我提供全局热键,用于播放控制,音量和复制歌曲标题(包括修复短片),但是我试图找出如何为当前歌曲加注星标.

更重要的是,我只希望Autohotkey脚本为歌曲加注星标(如果它尚未加星标).如果已经加星标,那就别管它了.

我希望当应用程序在托盘中时,所有这一切都发生,而不打开窗口.


编辑:半工作解决方案

所以我提出了一个合理的解决方案,它打开了一个上下文菜单,即使程序被最小化并且做了所有事情,包括不是没有明星的歌曲.不幸的是,上下文菜单意味着它可以在短时间内最大限度地减少游戏等全屏应用程序.取决于可能很痛苦的游戏,但它是我能做的最好的,没有花哨的DLL调用和东西.

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

;|---------------|
;|--[ SOURCES ]--|
;|---------------|
;Base Spotify Script from: http://www.autohotkey.com/board/topic/36239-spotify-global-hotkeys/
;Base Starring Script from: http://superuser.com/questions/324416/any-spotify-tweaks-with-keyboard-shortcut-to-star-tracks

;|------------------|
;|--[ SETTING UP ]--|
;|------------------|
DetectHiddenWindows, On ;Detect Spotify even if it's minimized
#IfWinExist ahk_class SpotifyMainWindow ;Only do the following if Spotify is running …
Run Code Online (Sandbox Code Playgroud)

autohotkey hotkeys minimized spotify

6
推荐指数
1
解决办法
2925
查看次数

通过批处理启动最小化程序

我一直在寻找一种方法来执行此操作,但该/min命令不会最小化我的 MP3 文件。

这是代码:

start /min song1.mp3 "cd /d %~dp0"

我用来播放 MP3 的程序是 Windows Media Player。

cmd batch-file minimized

6
推荐指数
1
解决办法
1万
查看次数

从C#启动Acrobat Reader 10.0:如何最小化?

我正在启动Reader 10.0,以便从Win 7系统上的C#程序向打印机发送PDF文件.这就是我现在正在做的事情:

startInfo.FileName = adobeReaderPath;
string args = String.Format("/t \"{0}\" \"{1}\"", this.pdfFileName, this.printerName);
startInfo.Arguments = args;
startInfo.CreateNoWindow = true;
startInfo.ErrorDialog = false;
startInfo.UseShellExecute = false;
startInfo.WindowStyle = ProcessWindowStyle.Minimized;
Process process = Process.Start(startInfo);
Run Code Online (Sandbox Code Playgroud)

我注意到像这样(或从命令提示符)启动Reader实际上启动了2个AcroRd32.exe可执行文件.它们都没有最小化.我也尝试使用相同的结果处理ProcessWindowStyle.Hidden.

有没有办法迫使读者最小化?

谢谢!

c# acrobat minimized

5
推荐指数
1
解决办法
4913
查看次数

抓住最小化事件表格(德尔福)

我找到了2种捕捉onMinimize事件的方法.

第一:关于FormResize事件:

if MyForm.WindowState = wsMinimized then ......
Run Code Online (Sandbox Code Playgroud)

第二:声明消息处理程序如下:

procedure WMSize(var Msg: TMessage); message WM_SIZE;
Run Code Online (Sandbox Code Playgroud)

然后:

procedure TForm57.WMSize(var Msg: TMessage);
begin
  if Msg.WParam  = SIZE_MINIMIZED then ....
end;
Run Code Online (Sandbox Code Playgroud)

哪种方式更好?!

delphi events minimized

5
推荐指数
1
解决办法
5018
查看次数

将热键发送到最小化的chrome窗口

我需要一个autohotkey脚本,可以将alt + backspace发送到最小化的chrome窗口(不会最大化它).

基本上,我有一个我制作的网络播放器应用程序,在播放器窗口中打开一个较小的窗口,你可以按alt +退格键,它会在窗口有焦点时静音和取消静音.(javascript活动)

活动窗口信息说:

>>>>( TitleMatchMode=slow Visible Text )<<<<
player.highstrike.org/play/
Run Code Online (Sandbox Code Playgroud)

我想脚本只适用于该URL.我试图将cmds发送到该窗口,但无济于事,有人可以帮助我吗?我真的很赞成它.谢谢.

autohotkey minimized

4
推荐指数
1
解决办法
2088
查看次数

C#在Windows启动时运行应用程序MINIMIZED

我在Windows启动时获得了以下代码来运行应用程序:

    private void SetStartup(string AppName, bool enable)
    {
        string runKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";

        Microsoft.Win32.RegistryKey startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey);

        if (enable)
        {
            if (startupKey.GetValue(AppName) == null)
            {
                startupKey.Close();
                startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey, true);
                startupKey.SetValue(AppName, Application.ExecutablePath.ToString());
                startupKey.Close();
            }
        }
        else
        {
            startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey, true);
            startupKey.DeleteValue(AppName, false);
            startupKey.Close();
        }
    }
Run Code Online (Sandbox Code Playgroud)

有用.但我想让程序最小化(仅在Windows启动时).我没有找到工作代码/很好的解释如何做到这一点.你能帮我吗?

谢谢.

.net c# startup minimized

3
推荐指数
1
解决办法
2万
查看次数

如何运行最小化的批处理文件

我想通过另一个批处理或 vbs 脚本以最小化模式运行批处理文件。我试过的是:
batch1.bat

@echo off  
start /min batch2.bat
Run Code Online (Sandbox Code Playgroud)

批处理文件

@echo off  
{my program}  
del /f /q batch1.bat >nul  
del /f /q batch2.bat >nul  
Run Code Online (Sandbox Code Playgroud)

当我尝试此操作时,一切正常,第二批运行并完成其工作,但最后会保留一个最小化的命令提示符窗口,其中显示the windows can not fond the batch file一个简单的批处理文件路径提示,如命令提示符所示。

如果我只使用exit命令而不是del /f /q batch2.bat >nul第二批中的这一行,那么它会按我的意愿工作,但是我的程序在运行后删除 batch2 很重要。
我唯一的目标是以最小化模式运行batch2。所以有什么帮助吗?我也不能在这里使用快捷方式进行批处理。

batch-file minimized

2
推荐指数
2
解决办法
3万
查看次数

SetForegroundWindow不适用于最小化的过程

在此主题上找不到任何好的答案,因此也许有人可以帮我。我正在制作一个小型个人程序,希望将某个应用程序放在前台。它已经可以工作,但是有一个小问题。当过程最小化时,我的代码不起作用。该过程不会像未最小化时那样在前台显示。

这是代码片段:

public partial class Form1 : Form
{
    [DllImport("user32.dll")]
    static extern bool SetForegroundWindow(IntPtr hWnd);

    public Form1()
    {
       InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        System.Diagnostics.Process[] p
            = System.Diagnostics.Process.GetProcessesByName("Client");

        if (p.Length > 0)
        {
            SetForegroundWindow(p[0].MainWindowHandle);
        }
        else
        {
            MessageBox.Show("Window Not Found!");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# pinvoke winapi minimized

2
推荐指数
1
解决办法
4067
查看次数

将Firebug Lite添加到JSFiddle以最小化启动

Firebug是Web上最好的开发工具.现在,先进的设备齐全的开发人员工具已经转移到每个主流浏览器,我们不需要寻找它.但有时候在共享JSFiddle代码时会打印一些日志console,或者只是需要窥视html,attributes或者classnames只是将Firebug脚本包含在小提琴中而不是提出整个开发人员工具对我来说似乎更方便.

但是当我将Firebug Lite添加到JSFiddle时,它启动就像阻止大多数(如果不是整个输出框架)一样.在我的笔记本电脑上它会阻挡整个画面.

SJFiddle Firebug普通窗口

我怎样才能包括Firebug的精简版的jsfiddle,在最小化模式时,它最小化或者启动后,像作为底部横条这样的形象在右下角的小广场?

JSFiddle Firebug Lite最小化窗口模式

javascript minimize minimized firebug-lite jsfiddle

2
推荐指数
1
解决办法
217
查看次数

检测窗口最小化状态的最佳选择?

我需要检测特定窗口是否已最小化。为此,我发现了两个功能:

1。

function PAIsWindowMinimized(h: HWND): Boolean;
// Detects whether a window is minimized or not
var
  wp: Winapi.Windows.WINDOWPLACEMENT;
begin
  wp.length := SizeOf(Winapi.Windows.WINDOWPLACEMENT);
  Winapi.Windows.GetWindowPlacement(h, @wp);
  Result := wp.showCmd = Winapi.Windows.SW_SHOWMINIMIZED;  
end;
Run Code Online (Sandbox Code Playgroud)

2。

// Alternative (https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-isiconic):
Winapi.Windows.IsIconic(h);
Run Code Online (Sandbox Code Playgroud)

两种选择中哪一种更可取?还是它们在所有情况下都一样好?

delphi winapi minimized delphi-10.3-rio

0
推荐指数
1
解决办法
231
查看次数