相关疑难解决方法(0)

如何在不同的显示器中打开两个Chrome kiosk模式实例(Windows)

我们正在开发一个Web应用程序,需要在不同的屏幕上打开两个不同的浏览器实例.显然我们使用的电脑已经具有双显示屏,两台显示器都具有相同的尺寸和分辨率.

我们的想法是,一旦Windows启动,两个应用程序应立即全屏打开,我们首选的浏览器是Chrome,因为它有几个命令可以帮助我们完成任务.

我们成功地向启动程序添加了两个在kiosk模式下打开两个实例的快捷方式,但是我们无法选择打开哪个显示.

快捷方式有这个目标:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\temp --kiosk www.domain.com --new-window "%1" --window-position=0,0

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\temp --kiosk www.domain2.com --new-window "%2" --window-position=1680,0
Run Code Online (Sandbox Code Playgroud)

为了打开两个实例,chromes需要创建一个临时文件,其中包含要打开的实例的信息 (--user-data-dir=c:\temp)

我们尝试使用(--window-position=1680,0)指定打开实例的位置,但Chrome似乎优先考虑最后一个实例打开的最后位置,因此无论命令如何,两个实例都在同一窗口打开.

我们在这个网站上找到了所有可用命令的列表,但列表很大,我们甚至不知道我们在寻找什么:

http://peter.sh/experiments/chromium-command-line-switches/

我找到了这个命令:--display=:0.0 | --display=:0.1 但它似乎没有用,或者我没有正确使用它

有任何想法吗?谢谢.

multiple-monitors google-chrome fullscreen kiosk-mode

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

在PowerShell中调用动态变量

我正在尝试创建一个新变量,它将使用动态名称的其他变量作为其值.这是我想要做的:

我有一个带有两个值的System.Array:

$Years = 2015, 2016
Run Code Online (Sandbox Code Playgroud)

另一个变量$ Transactions包含各种事务的列表.

我试图通过以下方式使用每个$ Years值:

ForEach($Year in $Years){

New-Variable -Name "Transactions_$Year" -Value $Transactions | Where {$_.Date -like "*.$Year"
Run Code Online (Sandbox Code Playgroud)

现在我想做的事情(在同一个ForEach循环中)是在我创建另一个新变量时使用$ Transactions_ $ Year值,如下所示:

New-Variable -Name "Income_$Year" -Value $Transactions_$Year |  Where {$_.Amount -NotLike "-*"} | Measure-Object Amount -Sum | Select -ExpandProperty Sum

}
Run Code Online (Sandbox Code Playgroud)

这可能吗,或者您有什么其他方法可以实现这一目标吗?

powershell indirection dynamic-variables

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

将SetWindowPos与多个监视器一起使用

使用user32.dllC#,我编写了下面看到的方法。使用窗口的处理手柄,它将在指定{x,y}位置设置窗口位置。

但是,在多监视器环境中,下面的代码仅将窗口位置设置为主监视器。我也希望能够选择哪个显示器。
有人可以解释一下如何使用SetWindowPos或结合其他user32.dll功能来实现吗?

[DllImport("user32.dll", SetLastError = true)]
static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, int uFlags);

private const int SWP_NOSIZE = 0x0001;
private const int SWP_NOZORDER = 0x0004;
private const int SWP_SHOWWINDOW = 0x0040;

public static void SetWindowPosition(Process p, int x, int y)
{
    IntPtr handle = p.MainWindowHandle;
    if (handle != IntPtr.Zero)
    {
        SetWindowPos(handle, IntPtr.Zero, x, y, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_SHOWWINDOW); …
Run Code Online (Sandbox Code Playgroud)

c# windows user32

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