草庐IT

windows - 是基于现有语言的定制编程语言编译器吗?

我正在尝试着手研究如何创建一种简单的编程语言。语法和编译器本身。我对这个主题做了一些研究,但我真的不明白我真正的问题是什么。我认为,现有的编程语言——编译器,是建立在现有的编程语言之上的,因此,让我的编译器也基于其中一种语言才有意义。尽管如此,因为这在理论上是第一种带有编译器的语言,没有其他语言可以作为基础,所以这不可能是真实的事实,而且确实必须基于其他东西,比如核心计算机系统语言。要实现我的目标(创建一种简单的(有扩展空间的)编程语言),哪条路是最好的路以及如何走?感谢任何答案! 最佳答案 最早的编译器是基于汇编代码的。汇编程序从

c# - Windows服务——封装现有功能

我们正在运行一个用WinformsC#(.netframework4.0)开发的客户端-服务器应用程序,它具有以下组件客户端(Windows应用程序)服务器(控制台应用程序)我们正在研究将服务器(控制台应用程序)实现为Windows服务的可能性。首先让我概述一下我们决定采取的方法创建一个windows服务项目(使用windows服务项目模板)将服务器功能集成/封装到Windows服务中只有一个问题需要我们回答。这里的尝试是让这个问题尽可能的客观,这样才能归类为真题。是否需要将Server转为dll工程?或者能否在windows服务工程中给serverexe文件一个引用?个人认为第二种方

c# - 在 C# 中使用按钮/事件显示新表单并隐藏现有表单

我正在尝试单击表单中的一个按钮,这样做会隐藏现有表单并显示新表单,尽管我遇到了问题,而且表单在不同位置“生成”时也有问题屏幕!我的代码如下:privatevoidbutton1_Click(objectsender,EventArgse){(newForm3()).Show();(newForm2()).Hide();}这段代码显示新表单ok,但是form2没有隐藏 最佳答案 您正在创建一个新的Form2实例并隐藏它。我猜你正在寻找这个:privatevoidbutton1_Click(objectsender,EventArgse

windows - 用于运行 .exe 并替换文件的批处理文件 - 在 .exe 关闭时交换现有文件

对不起,我有点生疏了,因为我已经4年多没有碰过批处理了……我试图在程序启动时替换我的Steam文件夹中的声音,我通过使用一两秒的延迟成功实现了这一点。然而,在启动SteamCRC时检查损坏/丢失的文件,结果我丢失了替换的声音。为了解决这个问题,我制作了另一个批处理文件以在应用程序关闭时重新替换旧文件,这样下一次启动steam就很开心了!//replaceourunwantedsound"C:\ProgramFiles(x86)\Steam\Steam.exe"pausetimeout/t4xcopy"C:\Users\thoma\Desktop\steamsounds\message.

python - 在 Windows 10 上安装 oTree 时无法启动项目 ('otree' 与现有 Python 模块的名称冲突)

遇到一些困难后,我正在尝试在我的Windows10计算机上重新安装oTree。我卸载了oTree和Python,并重新安装了Python并尝试重新安装oTree,两者都使用最新的可用版本(Python3.6.4,oTree2.0.18)。问题出现在我安装Python和oTree安装之后,当我从适当的目录(C:\Users\Sarah)运行命令otreestartprojectotree时。它拒绝运行如下:C:\Users\Sarah>otreestartprojectotreeIncludesamplegames?(yorn):yCommandError:'otree'conflict

C# - 从现有进程中读取文本

我们必须从现有的VB6应用程序中读取文本。所以我们使用了kernel32之外的FindWindow、GetWindowText和EnumChildWindows方法,可以枚举和读取这个过程中显示的文本。我们可以用我们的方法阅读90%的文本,但是一般有一个特定的控件(或框)我们无法阅读。我们无法使用UIspy程序定位我们需要阅读的文本,因此我假设它们必须使用GDI/GDI+将其直接呈现到屏幕上。他们不能使用控件或窗口来呈现我们需要的文本。有没有办法确定他们如何呈现文本并可能阅读文本?我们不想获取窗口的hDC并将其渲染到位图上并以某种方式反向验证文本……这可能是一场噩梦。解决方案:我们发现

c++ - PlaySound() mmslib 不播放现有声音

编辑:已解决。Windows不接受.wav文件。我提取了一个Windows自己的文件并将其重命名为我以前的文件的名称,并且播放没有问题。我不知道为什么这不能播放现有文件。Windows提示有问题,但我不知道是什么。我之前添加了一个检查以确保它存在。我也试过绝对路径。stringwavPath="c:\\frog.wav";structstatstFileInfo;boolblnReturn=(stat(wavPath.c_str(),&stFileInfo)==0);//thisreturnstrueFILE*fp=fopen(wavPath.c_str(),"r");if(fp){f

java - 将类注入(inject) JVM 并与现有类交互

我想将我的Java类注入(inject)到Windows上现有的Java应用程序中。我找到一篇描述使用CreateRemoteThread的方法的文章-java-code-injection-via-winapis但尚不清楚注入(inject)的类是否可以“连接”现有类并调用它们。有人知道这是否可行吗?JNI中是否有可用于搜索和获取对已运行类的引用的函数? 最佳答案 我敢肯定还有其他复杂的方法可以做您想做的事(例如使用javainstrumentationapi)。然而,可能有更简单的方法。找到应用程序的主类将类反编译成java代码

windows - 使用 WiX 工具集为 ProgramData 中的现有文件夹和文件设置权限

我继承了一个使用WIXToolset(3.10.3)构建安装包的项目。该应用程序将共享数据下载并存储在c:\ProgramData\Vendor\ApplicationName中.然而,这个路径不是在安装期间创建的,而是在应用程序本身的执行期间创建的,无论何时第一次请求该路径。我现在发现了一个与权限相关的问题,当多个Windows用户使用该应用程序时会发生该问题。每当应用程序从后端下载新的数据文件时,都是当前Windows用户获得这些文件的“完全控制”权限。当其他人使用另一个Windows帐户登录时,他们对这些文件只有读取权限。当应用程序试图保持本地文件与后端同步时,这些混合权限会导致

windows - ETW:通过现有提供程序发出事件

我有一个使用native插件的应用程序。对于这些插件,我有自己的二进制格式。每个插件都在运行时使用类似于将DLL映射到进程空间的方法加载。这意味着,每个插件都有自己的ImageBase,.text或.data等部分的处理方式与传统DLL相同。唯一不同的是插件的二进制格式(它不是PE文件)和将插件映射到进程空间的加载程序代码。现在我知道通过此命令行进行跟踪时的ETW:xperf-onlatency-stackwalkprofile-buffersize1024-minbuffers300-starttracea1-onMicrosoft-Windows-Win32k:::'stack'将