- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如何从具有特定窗口大小的“RUN”启动 powershell?有没有像“-size:100x100”这样的论点。是否可以使用 RUN 或者是否有任何其他方法来运行给定大小的程序窗口?
最佳答案
运行
对话框:以下命令以默认大小在控制台窗口中启动 PowerShell,然后将窗口大小调整为 100 列 x 50 行:
powershell -noexit -command "[console]::WindowWidth=100; [console]::WindowHeight=50; [console]::BufferWidth=[console]::WindowWidth"
注意:powershell -noexit -command "mode con cols=100 lines=50"
原则上有效,但有一个不幸的副作用,你会丢失任何回滚buffer(缓冲区高度设置为窗口高度)。
该命令使用 [console]
( System.Console
) .NET 类型来设置窗口宽度和高度,另外将缓冲区宽度设置为相同的值作为窗口的宽度,以保证不出现横向滚动条。
如果您从现有的命令提示符或 PowerShell 控制台运行上述命令,新的 PowerShell session 将在当前窗口中启动,并因此调整当前窗口的大小。< br/>以下是打开新窗口的方法:
从命令提示符 (cmd.exe
):使用 start
:
start powershell -noexit -command "[console]::windowwidth=100; [console]::windowheight=50; [console]::bufferwidth=[console]::windowwidth"
从 PowerShell 控制台窗口:使用 Start-Process
(注意参数列表两边的单引号):
start-process powershell '-noexit -command "[console]::windowwidth=100; [console]::windowheight=50; [console]::bufferwidth=[console]::windowwidth"'
上面的命令在以默认大小创建新窗口后运行,这可能会破坏视觉效果。
为防止这种情况发生,您有两种选择:
创建一个以 powershell.exe
为目标的快捷方式文件,配置其属性以设置所需的大小,然后运行快捷方式文件 (*.lnk
) 打开窗口。
File > Open Windows Powershell 为调用的 PowerShell 实例预设窗口大小
命令 这样,通过修改预先存在 底层快捷方式文件:[1] "$env:AppData\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell.lnk"
Change the default window size to your liking, but note that this then applies to all PowerShell sessions started with just the executable name (or path):
Interactively:
Press Win+R and submit just powershell
Open the new window's system menu, select Properties
and configure the window size as desired.
Future windows launched the same way will have the same size.
Programmatically:
Console window properties are stored in the registry at HKEY_CURRENT_USER\Console
, with the REG_DWORD
value WindowSize
containing the window size, and ScreenBufferSize
containing the buffer size:
Key HKEY_CURRENT_USER\Console
(HKCU:\Console
) contains the overall defaults.
Subkeys, such as %SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe
, contain overrides for specific executables / window titles.
.lnk
); the latter dynamically inherit the overall console defaults directly from HKEY_CURRENT_USER\Console
(not from any subkeys) - except for CodePage
on Windows 10 (not sure about Windows 8/8.1), and except for values later overridden via the Properties
dialog, which are saved directly in the file.Subkeys inherit values from their parent, which complicates setting values for subkeys - see below for an example.
powershell.exe
window-size defaults programmatically:The following PSv5+ snippet sets the default window size for powershell.exe
-launched console windows to 100 columns by 50 rows.
Note that the fact that screen buffer values are inherited from the overall default settings, stored directly in HKCU:\Console
, adds complexity.
# Determine the target registry key path.
$keyPath = 'HKCU:\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe'
# Get the existing key or create it on demand.
$key = Get-Item $keyPath -ErrorAction SilentlyContinue
if (-not $key) { $key = New-Item $keyPath }
# Determine the new size values.
[uint32] $cols = 100; [uint32] $lines = 50
# Convert to a DWORD for writing to the registry.
[uint32] $dwordWinSize = ($cols + ($lines -shl 16))
# Note: Screen *buffer* values are inherited from
# HKCU:\Console, and if the inherited buffer width is larger
# than the window width, the window width is apparently set to
# the larger size.
# Therefore, we must also set the ScreenBufferSize value, passing through
# its inherited height value while setting its width value to the same
# value as the window width.
[uint32] $dwordScreenBuf = Get-ItemPropertyValue HKCU:\Console ScreenBufferSize -EA SilentlyContinue
if (-not $dwordScreenBuf) { # No buffer size to inherit.
# Height is 3000 lines by default.
# Note that if we didn't set this explicitly, the buffer height would
# default to the same value as the window height.
$dwordScreenBuf = 3000 -shl 16
}
# Set the buffer width (low word) to the same width as the window
# (so that there's no horizontal scrolling).
$dwordScreenBuf = $cols + (($dwordScreenBuf -shr 16) -shl 16)
# Write the new values to the registry.
Set-ItemProperty -Type DWord $key.PSPath WindowSize $dwordWinSize
Set-ItemProperty -Type DWord $key.PSPath ScreenBufferSize $dwordScreenBuf
[1] papo 进一步指出,“[那个] Win+X 菜单实际上启动了这个 lnk(如果丢失会出错),这很奇怪,因为 Win+X 有自己的快捷方式:” $env:LOCALAPPDATA\Microsoft\Windows\WinX\Group3"
,将被忽略。(Win10 1809)。如果删除此链接,从资源管理器的 > 文件启动的 PS 仍然有效,但将使用 默认值 来自注册表。"
关于windows - 如何从 RUN 启动具有特定窗口大小的 powershell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43296216/
https://github.com/mattdiamond/Recorderjs/blob/master/recorder.js中的代码 我不明白 JavaScript 语法,比如 (functio
在 iOS 7 及更早版本中,如果我们想在应用程序中找到 topMostWindow,我们通常使用以下代码行 [[[UIApplication sharedApplication] windows]
我已经尝试解决这个问题很长一段时间了:我无法访问窗口的 url,因为它位于另一个域上..有一些解决方案吗? function login() { var cb = window.ope
是否可以将 FFMPEG 视频流传递到 C# 窗口?现在它在新窗口中作为新进程打开,我只是想将它传递给我自己的 SessionWindow。 此时我像这样执行ffplay: public void E
我有一个名为 x 的矩阵看起来像这样: pTime Close 1 1275087600 1.2268 2 1275264000 1.2264 3 1275264300 1.2
在编译时,发生搜索,grep搜索等,Emacs会在单独的窗口中创建一个新的缓冲区来显示结果,有没有自动跳转到那个窗口的方法?这很有用,因为我可以使用 n 和 p 而不是 M-g n 和 M-g p 移
我有一个启动 PowerShell 脚本的批处理文件。 批处理文件: START Powershell -executionpolicy RemoteSigned -noexit -file "MyS
我有一个基于菜单栏的应用程序,单击图标时会显示一个窗口。在 Mac OS X Lion 上一切正常,但由于某种原因,在 Snow Leopard 和早期版本的 Mac OS X 上会出现错误。任何时候
在 macOS 中,如何在 Xcode 和/或 Interface Builder 中创建带有“集成标题栏和工具栏”的窗口? 这是“宽标题栏”类型的窗口,已添加到 OS X 10.10 Yosemit
在浏览器 (Chrome) 中 JavaScript: var DataModler = { Data: { Something: 'value' }, Process: functi
我有 3 个 html 页面。第 1 页链接到第 2 页,第 2 页链接到第 3 页(为了简单起见)。 我希望页面 2 中的链接打开页面 3 并关闭页面 1(选项卡 1)。 据我了解,您无法使用 Ja
当点击“创建节点”按钮时,如何打开一个新的框架或窗口?我希望新框架包含一个文本字段和下拉菜单,以便用户可以选择一个选项。 Create node Search node
我有一个用户控件,用于编辑应用程序中的某些对象。 我最近遇到一个实例,我想弹出一个新的对话框(窗口)来托管此用户控件。 如何实例化新窗口并将需要设置的任何属性从窗口传递到用户控件? 感谢您的宝贵时间。
我有一个Observable,它发出许多对象,我想使用window或buffer操作对这些对象进行分组。但是,我不想指定count参数来确定窗口中应包含多少个对象,而是希望能够使用自定义条件。 例如,
我有以下代码,它打开一个新的 JavaFX 阶段(我们称之为窗口)。 openAlertBox.setOnAction(e -> { AlertBox alert = AlertBox
我要添加一个“在新窗口中打开”上下文菜单项,该菜单项将以新的UIScene打开我的应用程序文档之一。当然,我只想在实际上支持多个场景的设备上显示该菜单项。 目前,我只是在检查设备是否是使用旧设备的iP
我正在尝试创建一个 AIR 应用程序来记录应用程序的使用情况,使用 AIR 从系统获取信息的唯一简单方法是使用命令行工具和抓取 标准输出 . 我知道像 这样的工具顶部 和 ps 对于 OS X,但它们
所以我有这个简单的 turtle 螺旋制作器,我想知道是否有一种方法可以打印出由该程序创建的我的设计副本。 代码: import turtle x= float(input("Angle: ")) y
我正在编写一个 C# WPF 程序,它将文本消息发送到另一个程序的窗口。我有一个宏程序作为我的键盘驱动程序 (Logitech g15) 的一部分,它已经这样做了,尽管它不会将击键直接发送到进程,而是
我尝试使用以下代码通过 UDP 发送,但得到了奇怪的结果。 if((sendto(newSocket, sendBuf, totalLength, 0, (SOCKADDR *)&sendAd
我是一名优秀的程序员,十分优秀!