所以我正在编写这段代码,并使用了 switch 语句。我想要做的是,当选择任何无效选项时,程序应该显示一条消息,然后在一段时间后仅清除该消息,同时保持选项仍在屏幕上。在到目前为止的代码中,我使用 Windows.h 库的 Sleep 函数进行暂停,还使用 goto 返回询问选项,但似乎不知道如何从屏幕上删除错误消息。我无法使用,system("cls");因为在选择此选项之前我有一个菜单,有点像登录,所以我不希望它消失,直到选择了有效的选项。这是我的代码:
cout<<endl<<"\t\t\t\t\t\t - Access Denied! -"<<endl;
cout<<"\t\t\t\t\t\t + Press [1] To Try Again. +"<<endl;
cout<<"\t\t\t\t\t\t + Press [2] To Go Back. +"<<endl;
char TryAgain = ' ';
cout<<"\t\t\t\t\t\t >>[ ]<< ";
InvalidOption:
SetConsoleCursorPosition(hStdout, { 84, 14 });
cin>>TryAgain;
switch (TryAgain)
{
case '1':
goto LoginAgain;
case '2':
break;
default:
{
cout<<"\t\t\t\t\t Select A Valid Option!";
Sleep ( 450 );
cout << "\b";
goto InvalidOption;
}
}
Run Code Online (Sandbox Code Playgroud)
是的,我正在使用大量的/t,也许还有一堆其他的东西,但这只是我正在尝试的示例代码,而不是直接在我的原始项目上进行实验。
当我尝试使用 pyinstaller 将 python 文件转换为 exe 时。
\n输入:
\nPS C:\\Users\\User\\Desktop\\\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xb0\xd1\x8f \xd0\xbf\xd0\xb0\xd0\xbf\xd0\xba\xd0\xb0 (5)> pyinstaller -F send.py\nRun Code Online (Sandbox Code Playgroud)\n我收到这个错误。
\n输出:
\nThe \'typing\' package is an obsolete backport of a standard library package and is incompatible with PyInstaller. \nPlease `pip uninstall typing` then try again.\nRun Code Online (Sandbox Code Playgroud)\n 我做了一个简单的应用程序,打开一个QWebView,但除了应用程序窗口,Windows控制台窗口打开.
这可能是什么原因?
import sys
import socket
from PyQt4 import QtCore, QtGui
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import QWebView
class AppWindow(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(300, 300, 200, 25)
self.setWindowTitle('TrayIP')
self.create_sys_tray()
self.hostname = socket.gethostname()
self.ip = socket.gethostbyname(self.hostname)
self.label = QLabel("IP: " + self.ip, self)
self.label.setFont(QtGui.QFont('Helvetica', 14))
self.timer = QTimer()
self.connect( self.timer, QtCore.SIGNAL('timeout()'), self.timerupdate)
self.timer.start(10000)
def timerupdate(self):
self.web = QWebView()
self.web.load( QUrl('http://xxx') )
def create_sys_tray(self):
self.sysTray = QtGui.QSystemTrayIcon(self)
self.sysTray.setIcon( QtGui.QIcon('ico.ico') )
self.sysTray.setVisible(True)
self.connect(self.sysTray, QtCore.SIGNAL("activated(QSystemTrayIcon::ActivationReason)"), …Run Code Online (Sandbox Code Playgroud) 我有一些工具可以将一些数据直接输出到控制台输出.
我想将此输出保存到某个变量,然后将其传递到其他位置...
有可能吗?
例:
rem this outputs String1 values from myfile.txt
GetString myfile.txt String1
rem I want this value for example in %p% variable, and then:
call MyApp %p%
Run Code Online (Sandbox Code Playgroud) 我试图使用不显示控制台窗口的CMake,Qt和Visual Studio构建可执行文件.
我发现这篇文章和这个答案
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:mainCRTStartup")
Run Code Online (Sandbox Code Playgroud)
但是我想知道QtCreator如何能够构建一个没有这个/ ENTRY标志的可执行文件而不显示控制台窗口?
有没有办法阻止控制台应用程序从命令提示符执行时启动新的控制台窗口?我不知道为什么我从来没有注意到这之前(或者,如果我只是还没有得到它之前恼火),但我希望能够打开一个命令提示符,导航到我的控制台应用程序文件(.exe)是运行它而不启动新的控制台窗口.
我已经看到了关于如何隐藏控制台窗口的线程,但我的应用程序并不真正意味着以自动方式运行,所以如果他们从资源管理器运行它,我希望他们能够看到它.
如何在Windows CMD中打印文件的前5行?
有一个问题我无法使用PowerShell(特定任务)和批处理脚本.你能帮帮我吗?
我有一个静态方法,如果它在测试环境下运行,我想用它来更改Console.BackgroundColor.当颜色改变后我在线上断裂时仍然设置为黑色.
public static void LogError(string err)
{
if (IsRunningFromMspec)
{
Console.BackgroundColor = ConsoleColor.DarkRed;
Console.WriteLine(" &&&" + err);
}
else if (MyTracer.MyLevelSwitch.TraceError && !string.IsNullOrEmpty(err))
{
Trace.TraceError(" &&& - " + err);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Inno安装程序安装程序来设置安装程序文件,该文件可以调用我刚刚通过其脚本安装的.exe,并在安装后立即使用以下命令启动它:
[Run]
Filename: "{cmd}"; Description: "{cm:LaunchProgram,3mtxmail}"; \
Flags: nowait postinstall skipifsilent runascurrentuser; \
Parameters: "/b /k "" ""{app}\my.exe"" -c ""{app}\default.conf"" "" "
Run Code Online (Sandbox Code Playgroud)
在my.exe运行时,它不需要任何接口,只应侦听特定端口上的任何流量,并将该流量信息写入日志文件.
但是,当我执行安装程序并启动程序时,它仍会显示一个新的控制台窗口,我认为/b应该阻止它.我希望不要看到这个新的控制台窗口,实际上屏幕上看不到任何内容.
从https://technet.microsoft.com/en-us/library/bb491005.aspx,/b应该是指示不打开命令的新窗口的标志.
什么是正确的语法?
我需要perl脚本来触发另一个应在单独的命令提示符下运行的脚本。
#!/usr/bin/perl
system("perl exe_klarity.pl");
#!/usr/bin/perl
system("perl exe_klarity.pl");
Run Code Online (Sandbox Code Playgroud)
当运行此代码时,其仅在同一命令提示符下运行,而不会进入单独的窗口,请提供帮助
windows-console ×10
windows ×5
.net ×2
c# ×2
c++ ×2
cmd ×2
python ×2
qt ×2
batch-file ×1
cmake ×1
console ×1
grep ×1
head ×1
inno-setup ×1
module ×1
perl ×1
pyinstaller ×1
pyqt ×1
unit-testing ×1