草庐IT

c - 确定我的应用程序的顺序的最佳方法?

我想写一个等待用户给它命令的计算器。例如:添加12子124找出用户下达的命令以及该命令后给出的token的最佳方法是什么?我在Windows上用C编写我的项目,它是基于控制台的。 最佳答案 你可以使用scanf#includeintmain(){charcmd[1024];inta,b;printf("Enterinput:");scanf("%s%d%d",cmd,&a,&b);if(strcmp(cmd,"add")==0){printf("Result:%d\n",a+b);}elseif(strcmp(cmd,"sub")=

windows - 无法在 Windows/Cygwin 上使用 perl 确定文件创建时间

我写这个是为了找出给定文件的文件创建时间:#!/usr/bin/perlusestrict;usewarnings;useFile::stat;open(my$fh,'但是,这不起作用,并给出:Useofuninitializedvalue$tinprintat./tests.plxline9.谁能指出我在这里做错了什么?或者这不能在Windows/Cygwin上的perl(5.14.2)上完成,我必须选择一些替代方法?提前致谢。 最佳答案 File::stat中的stat将返回File::stat对象。删除useFile::sta

c - 在 C 中确定文件是否正在 Windows 上被删除

这个问题在这里已经有了答案:C++/Win32:Howtowaitforapendingdeletetocomplete(13个答案)关闭9年前。我有一个文件是使用WindowsAPICreateFile()使用FILE_SHARE_DELETE标志打开的,这样我就可以在文件句柄仍然打开时删除它。但是在第一个进程删除文件和进程结束之间的窗口中,我希望能够知道文件正在被删除,以便我可以进入重试循环。我发现错误代码303与我要找的完全一样:ERROR_DELETE_PENDING303(0x12F)Thefilecannotbeopenedbecauseitisintheprocessof

windows - 在运行时确定弹出提示消息 (THintInfo::HintStr) 的大小

我们有一个启用了ShowHint的TListView。在OnInfoTip处理程序中,构造了一条特定于鼠标悬停在其上的项目的提示消息。该消息可能包含换行符(#13#10)。已经创建了一个覆盖来处理CM_HINTSHOW消息,即将显示的提示消息可以在msg.HintInfo.HintStr中看到。可以在运行时计算大小,但这似乎有风险,因为实现细节可能很复杂或依赖于平台。是否可以查询THintInfo的边界矩形,或者是否有其他方法可以确定弹出提示消息在显示时的确切大小?这是必需的,以便可以设置提示的确切位置(msg.HintInfo.HintPos)。 最佳答案

windows - 确定操作系统类型的环境变量(Windows XP、Windows 7)

我想在XML文件中区分WindowsXP和Windows7。我想我会在XML中为它使用一个环境变量。但是我找不到在Windows中定义的任何系统环境变量来提供此信息。我看到了%OSTYPE%变量,但它只在Windows7中可用。它在XP中没有定义。无论如何我可以做到这一点吗?请注意,我想要一个完全依赖于系统环境变量的解决方案。我不想在执行某些命令的基础上创建新变量,因为我想在XML文件中使用这个变量。 最佳答案 据我所知,XP中的环境变量接近于“OS”。OS:Liststhenameoftheoperatingsystem.(Win

windows - 使用 PowerShell 确定用户是否在 Active Directory 中

我正在尝试确定C:\Users中的哪些用户文件夹在ActiveDirectory中具有事件用户。我目前有以下内容:$userProfile=Get-ChildItem-Path"C:\Users"$unknownList=@()foreach($userin$userProfile){try{Get-ADUser-Identity$user.Name|Out-Null}catch{$unknownList+=$user.Name}}Write-Host$unknownList我的问题是所有用户名似乎都不存在并被捕获。任何人都可以为PowerShell新手提供一些建议吗?我尝试了在这里和

windows - 如何让 Matlab 确定操作系统是 windows 还是 mac?所以要找到所有串行 USB 连接

目标描述:我正在尝试让matlab确定计算机运行的是Windows还是Mac。我的主要目标是编写一个强大的脚本来确定可用的串行端口和USB端口(出于同样的原因)以确定哪个是Arduino。当前工作:我有一个脚本可以查询Windows上的注册表并成功识别此信息。但是,我试图使这个脚本健壮并识别mac和windows。请求:在matlab中是否有更好的方法来做到这一点?我如何稳健地做到这一点,希望尽可能独立于操作系统,或者如果不能,我如何在Mac上做到这一点!请注意,(instrfindall)仅将对象识别到端口,因此这些端口已经打开。所以很遗憾,这不是解决方案。编辑:我可以通过ismac

c++ - 给定线程 ID,如何确定它是否仍在 Windows 上运行

在Linux上,我们有pthread_kill()来执行此操作。我正在尝试为它找到Windows对应项。换句话说,给定一个线程id,有没有办法判断线程是否还在运行?GetExitCodeThread()是我发现的最接近的方法,但是,它需要线程句柄而不是线程ID作为其参数。 最佳答案 您不应该为此目的使用线程ID:线程ID可以重复使用,因此如果您获得线程ID,则该线程退出,另一个线程可以使用相同的线程ID启动。句柄不存在这个问题:一旦一个线程终止,该线程的所有句柄都会反射(reflect)该线程的终止状态。您可以使用OpenThrea

c++ - 确定窗口恢复大小

我正在尝试生成一个位图,其中包含将窗口恢复到桌面时将显示的内容。GetWindowRect返回它的最小尺寸,GetWindowplacement返回它应该去的地方。但是我找不到告诉我它有多大的API。如何确定恢复后窗口的大小? 最佳答案 GetWindowPlacement确实是您想要的。使用rcNormalPosition,它是一个包含标准化位置坐标的RECT。或者,如果WPF_RESTORETOMAXIMIZED在窗口放置flags中,则使用与窗口关联的监视器的工作区。话虽如此,在Windows7上,GetWindowPlace

c++ - 确定 CPU 缓存中值的值和/或地址

有没有办法准确确定当前或所有进程的CPU缓存(L1、L2等)中当前驻留的值、内存地址和/或其他信息?我已经做了很多阅读,其中展示了如何优化程序以更有效地利用CPU缓存。但是,我正在寻找一种方法来真正确定某些方法是否有效。底线:是否有可能100%确定什么进入和不进入CPU缓存。搜索此主题会返回几个关于如何确定缓存大小的结果,但不会返回内容。编辑:澄清下面的一些评论:由于软件无疑会改变缓存,CPU制造商是否有提供此功能的工具/硬件诊断系统(内置)? 最佳答案 如果不使用专用硬件,您无法直接检查CPU缓存中的内容。运行任何软件来检查CPU