我如何在Delphi 2007中检测Windows Service状态并当然更改状态. 解决方案 WinSVC具有您需要的所有Windows API方法.您可以在下面创建一个简单的类接口: unit ServiceManager; interface uses SysUtils, Windows, Winsvc; type TServiceManager = class; { The states a service can be in. } TServiceState = (ssStopped, ssStartPending, ssStopPending, ssRunning, ssContinuePending, ssPausePending,
以下是关于 operating-system 的编程技术问答
我当前的项目涉及部署以Windows服务运行的升级的.EXE文件.为了用新版本覆盖现有的.exe,我目前需要: 停止服务 卸载服务 重新启动系统(因此Windows释放它保存在文件上) 部署新的.exe 重新安装服务 启动升级的服务. 我想避免重新启动,因此可以是完全脚本/自动化的升级. 有什么办法避免重新启动?也许是一种命令行工具,它将迫使窗户放弃对旧的.exe的死亡抓地力? 解决方案 sc delete "service name" 将删除服务.我发现 sc sc striestion 比挖掘更容易挖掘installutil.请记住,如果您还没有停止服务. 其他解决方案 我和您有一个相同的问题.我有一个系统服务,我想卸载,然后重新安装作为更新的一部分.在某些系统上,如果没有重新启动,这将无法使用.问题在于,呼叫deleteservice()将返回确定,但是以下呼叫createService()会告诉我服务仍然存在,但标记为删除(错误代码
我有一项任务,可以找到一些Microsoft许可要求的广告中所有服务器的操作系统. 有人这样做了吗? 解决方案 我弄清楚了. 请随时使用并修改它.如果您有疑问,请告诉我. 这是一个简单的命令.希望它对某人有帮助.这为您提供了您拥有的操作系统的类型.我仅根据Windows服务器和活动的计算机帐户进行过滤.然后按名称排序并选择唯一的操作系统. Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (Enabled -eq "True")} -Properties OperatingSystem | Sort Name | select -Unique OperatingSystem 输出: OperatingSystem --------------- Windows Server 2012 R2 Standard Windows Server 2008 R
我正在编程使用C#和Visual Studio 11 Beta的Metro Style应用程序. 现在,我想获得操作系统的操作系统.我该如何得到这个? 我发现了如何在"正常"应用程序中进行操作. 在那里,您将带有属性放射的环境类别级,但在.net核心中没有此属性 解决方案 对于新应用程序,您应该检查特定功能,而不是OS版本. 据我所知,没有理由检查OS版本,因为Metro应用程序仅可用于Win8. 编辑:现在可以在多个Windows版本上使用存储应用程序,但仍建议测试功能而不是OS版本.创建该项目时,将最小OS版本设置为项目的构建目标. 编辑#2:如果您有兴趣在应用程序安装基础中跟踪OS版本,则可以将应用程序洞察力集成到项目中,从Windows 8.1的应用程序开始.这是开始的方法: http://azure.microsoft.microsoft . 其他解决方案 您可以通过使用设备API获取低级系统组件的驱动程序版本编号来获得OS版本号,以致
现在,我确定我们都非常了解Linux vs Windows桌面的相对优点.但是,我对嵌入式发展的世界的了解少得多.我主要对行业解决方案感兴趣,因此对iPhone或Android不感兴趣,对这两个OSS更感兴趣. 嵌入式世界两个平台之间的相对权衡是什么?如果您正在考虑使用自定义硬件,部分自定义的操作系统和一个自定义应用程序为特定项目构建框,那么您会选择哪个? ? 我假设Windows CE赢得了工具和Linux的胜利,而Linux均以成本和可能的性能获胜.但是,这只是完全猜测.有人有两个事实或经验吗? 解决方案 我在一家为CE和Linux提供所有硬件的公司工作了几年,因此我对这个方程式的双方都很熟悉. 工具: Windows CE工具当然比Linux提供的工具更好,尽管Linux工具肯定会变得更好. 性能: Windows CE是实时的. Linux不是. Linux内核根本不是为确定论而设计的.您可以添加一些扩展,以获得实时的时间,但是CE击败了它. 成本
我想运行一个脚本,在该脚本中,我可以在公司中运行所有计算机的系统的Windows名称和版本,并将其放在文本FIL中.然后从我的Windows名称中制作系统变量.我知道要运行什么,但是遇到问题的地方是一个地方持有人.所以这是我的代码: :OS_NAME Set OS_NAME= systeminfo | find "OS Name" :OS_Ver Set OS_Version= systeminfo | findstr /B /C:"OS Version" systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /c:"BIOS Version" | >> G:\Directory\%Computername% :OS_Arch IF exist "%programfiles(x86)% (SET OS_ARCH=X64) Else (SET OS_ARCH=X
如何使用C#找到驱动器,在该驱动器中安装了操作系统(例如Windows 7)?然后我必须获取程序文件目录. 解决方案 使用Environment.GetFolderPath(Environment.SpecialFolder.System);,用于程序文件文件夹Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);. 其他解决方案 请看一下此链接. Environment.GetEnvironmentVariable希望,能为您完成这项工作. 其他解决方案 string systemDrive = Path.GetRoot(Environment.GetFolderPath(Environment.SpecialFolder.System)); string progamFilesPath = Environment.GetFolderPath(Environment.SpecialFo
在MSDN中,我找到了以下" " baseaddress-指向页面区域的基础地址的指针. 分配基础 - 指向通过VirtualAlloc函数分配的一系列页面的基础地址. BaseadDress成员指向的页面包含在此分配范围内. ,但我不明白有什么区别.谁能告诉我区别? (不喜欢MSDN :)) 解决方案 窗口上的虚拟内存分配是用粒度为64千元的粒度制成的.但是虚拟内存页面为4096字节,system_info.dwpagesize的值. 当您将虚拟内存分配给VirtualAlloc时,您将始终获得一个块,其baseaddress等于分配基库.但是,如果然后更改此块中一个或多个页面的页面保护,那么您可以观察到与不同的baseaddress细分的块.使用示例程序最好显示,在MSVC ++上运行此操作: #include "stdafx.h" #include #include #include
是否有一种简单的方法可以在Python上的Windows 7中创建快捷方式?我在网上查找了它,但他们似乎并不那么简单. 我尝试使用这种简单的方法: hi = open("ShortcutFile.lnk", "w") hi.close() 创建一个快捷文件.但是,我将如何编辑其连接到的链接.喜欢它将打开的文件?有人可以向我推动正确的方向吗? 解决方案 旧,但是我仍然想发布一个答案,以帮助任何可能有同样问题并需要代码示例的人. 首先,使用pip install pywin32下载pywin32或下载 sourceforge " http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32" rel =" noreferrer"> pywin32 wheel 文件 file and pip install. import win32com.client import pythoncom import os # pyt
更新: 根据我得到的投票,我决定解释为什么我问这个问题. 我正在编写使用默认打印机的C#应用程序. 问题是当通过我的应用程序在Windows 10中打印时,默认打印机不会按预期返回. 经过一些研究,我发现这是Microsoft开发的一项新功能:用于打印的最后一台打印机是默认功能.但是,可以关闭此功能. 现在,回到原始帖子: 我已经安装了Windows 10,我正在尝试关闭"让Windows管理我的默认打印机",但我找不到此选项. 根据我试图通过regedit将其关闭,但是LegacyDefaultPrintermode的实例也不存在. 知道为什么我找不到关闭选项? 还有其他选择可以关闭此标志吗? 解决方案 如何禁用自动默认打印机管理器 1-使用Windows键 + I键盘快捷键打开设置. 2-导航到设备,然后转到打印机和扫描仪,并禁用让Windows管理我的默认打印机.
如果我存储要打开的路径在一个名为FinalPath的字符串中,看起来像这样: " ./2.8电影/英语/死硬系列" 那么我如何在Windows Explorer中打开它?(Windows 10)(Python 3.6.2) P.S我知道很多人问了这个问题,但我发现它们没有清楚.请尽快回答. 解决方案 我找到了一个简单的方法. import os path = "C:/Users" path = os.path.realpath(path) os.startfile(path) 其他解决方案 其他替代方案 import webbrowser, os path="C:/Users" webbrowser.open(os.path.realpath(path)) 或单独使用操作系统 import os os.system(f'start {os.path.realpath(path)}') 或子过程 import subprocess,
我使用C#.我尝试获取OS的当前版本: OperatingSystem os = Environment.OSVersion; Version ver = os.Version; 我上了 Windows 10 : 6.2 . 但 6.2 是 Windows 8 或 Windowsserver 2012 (在.net中检测Windows版本) 我找到了以下解决方案(如何检测我的应用程序是否在Windows 10上运行). static bool IsWindows10() { var reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"); string productName = (string)reg.GetValue("ProductName"); return productName.StartsWith("Windows
有人知道tosversion.name仍然在Windows 10上工作吗? 我有一个VCL应用程序,该应用程序具有表单显示事件,该应用程序获取操作系统详细信息,并使用Sysutils的Tosversion记录在TMEMO框中显示它们. with mmoOSInfo.Lines do begin Clear; Add(TOSVersion.ToString); Add(''); Add('Architecture: ' + OSArchitectureToStr(TOSVersion.Architecture)); Add('Platform: ' + OSPlatformToStr(TOSVersion.Platform) + IntToStr(PlatformFromPointer)); Add('Build: ' + IntToStr(TOSVersion.Build)); Add('Major: '
我正在特定于操作系统的应用程序,但我似乎无法缩小Windows 10的缩小,它出现为Windows8.我已经在Windows 10 Pro上对其进行了测试,结果很重要:6分钟:2.有其他方法可以更有效地检查它是否是Windows 10? 编辑:找到适当工作的API rtlgetversion()适用于所有操作系统! #include "windows.h" #include using namespace std; BOOL EqualsMajorVersion(DWORD majorVersion) { OSVERSIONINFOEX osVersionInfo; ::ZeroMemory(&osVersionInfo, sizeof(OSVERSIONINFOEX)); osVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); osVersionInfo.dwMajorVersion =
在Java中,我们可以看到os.name的属性值知道基础操作系统的名称:System.getProperty("os.name"). 对于每个版本的Windows,它用来始终返回OS的确切名称:XP,Windows Vista for Vista,Windows 7,Windows 7为七个,Windows 8.1 for 8.1,等等. . 问题是:我刚刚使用已发布的Microsoft Updater将Windows 8.1更新为Windows 10,似乎此属性仍然存在Windows 8.1: public class OSTest { public static void main(String[] args) { System.out.println(System.getProperty("os.name")); } } 如何为此创建解决方法?而且,有人知道如果安装新的Windows 10副本,是否仍然存在此问题 - 也就是说,此错误是由Mic
我对当前系统时间有疑问.我有基于命令行的软件. 当我运行该软件时,它向我展示了执行的开始和结束时的时间.即 开始:The current system time is: 1378258559 结束:The current system time is : 1378258570 我不知道时间是在几秒钟还是几分钟内.如何计算1378258559?两个数字之间的区别是11. fyi,我系统上的当前日期和时间是:04/09/2013 9:50 AM 解决方案 this 这是自1970年1月1日午夜GMT的秒数 11,是因为某事需要11秒. 这是一篇文章,解释了为什么选择1970以及定义: unix时间或posix时间是一个描述时间点的系统,该系统定义为自1970年1月1日午夜五滴序列协调的通用时间(UTC)以来经过的秒数,而不是计数leap秒数. 为什么要从1970年1月1日开始计算日期?
我需要从Windows中的进程ID中获取流程名称,以查找与已记录事件关联的过程名称.它只能从记录事件中获取执行过程ID.过程句柄是使用GetProcessImageFileName()方法所需的输入.它无法从记录事件中获取流程处理. 在重复问题,它谈论当前正在运行的过程.但是我当前不需要运行过程,因为它谈论了已记录事件. &我怀疑processID vs processname组合是否在Windows中是唯一的.因此,还需要考虑.. 我希望必须有一些结构来映射流程ID才能处理名称.有结构吗?或任何其他方法可以从过程ID获取流程图像名称? 解决方案 我需要从Windows中的Process ID获取流程名称才能查找与已记录事件关联的过程名称. 如果您是从日志中获取进程ID,则只有在原始过程仍在运行时才有效.否则,ID不再对该过程名称有效.如果该过程在阅读日志之前已经退出,则所有下注均已关闭. 我当前不需要运行过程,因为它谈论了已记录事件. ,如果未
我如何找到我的C#应用程序的Microsoft Windows (OS名称) 例如" Windows 8 Pro",我的意思是OS中的版本. 解决方案 您可以从注册表中获取操作系统名称,但是您需要查询WMI中的架构和服务包信息: using System.Diagnostics; ... private string GetOperatingSystemInfo() { RegistryKey operatingSystemKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"); string operatingSystemName = operatingSystemKey.GetValue("ProductName").ToString(); ConnectionOptions options = new Connec
请原谅我对此的无知.很多年前,我可能已经在查尔斯·佩佐尔(Charles Petzold)的编程窗口(第4版 book)中读过这篇文章,我一定已经忘记了这一切.我记得第一章关于计时器的分辨率和CPU的时钟速度有话要说,但我忘记了细节.我认为他回答了这个问题.但是我可以想象事情.已经很长一段时间了. 虽然有一个在这里相关的问题,答案不是我的满意我对下面提到的感兴趣. 很高兴有人为这个问题提供系统的答案. 硬件中内置了某种时钟,可以说明它是通用时间?然后,它通过添加时区偏移来计算用户选择语言环境中的本地时间? 此时钟存储时间信息的单元是什么?这如何转化为我们人类对日期和时间的概念?该翻译是谁 - 硬件或CPU? 我假设有一种操作系统不可知的方法可以在所有操作系统中获得UTC时间. 在Windows下,我记得曾经有一个Win32功能,您将其称为将其传递给struct的指针,它会填充它.该功能如何知道UTC时间是什么? 为此,任何OS如何知道? 最