我怎样才能得到前台窗口的exe路径?
我想获取活动前景窗口的可执行文件路径. 我已经有前景窗口的处理程序: [DllImport("user32.dll")] static extern IntPtr GetForegroundWindow(); IntPtr handlerAppActual = GetForegroundWindow(); 我想像快捷方式一样获取它可执行文件的路径. (例如:C:\ Application \ Application.exe) 为什么我需要这个? 稍后使用它以使用其流程的调用自动执行应用程序,例如: Process process = new Process(); process.StartInfo.FileName = @parametros[0]; process.Start(); 其中"参数[0]"是文件的路径. 我要求使用前景窗口应用程序的路径,但是如果您知道其他方法可以做我需要的事情(获取前景应用程序的主要过程以稍后执行),我会请听到
0 2024-04-16
编程技术问答社区
选择时改变TreeViewItem的前景
在我的程序中,我有一个TreeView,用户将在其中选择不同的项目.我的TreeView中有几个项目在我的C#代码范围内进行了自定义. 喜欢: public static TreeViewItem newItem = new TreeViewItem() //Child Node { Header = new StackPanel //ICON { Orientation = Orientation.Horizontal, Children = { new Border { Width = 12, Height = 14, Background = Brushes.Blue, BorderThickne
0 2024-04-16
编程技术问答社区
最小化时带入前方窗口
我想知道如何提出特定窗口. 当窗户未最小化时,SetForegroundWindow可以工作!但是当窗口最小化时,setForegroundWindow不起作用... 这是我的代码: int IdRemoto = int.Parse(textBoxID.Text); Process[] processlist = Process.GetProcessesByName("AA_v3.3"); foreach (Process process in processlist) { if (!String.IsNullOrEmpty(process.MainWindowTitle)) { if (IdRemoto.ToString() == process.MainWindowTitle) SetF
0 2024-04-11
编程技术问答社区
如何将一个未被管理的应用程序窗口带到前面,并使其成为(模拟)用户输入的活动窗口?
我假设我需要使用pinvoke,但我不确定需要哪些函数调用. 方案:将运行一个旧应用程序,我将为该应用程序处理. 我需要: 将该应用程序带到顶部(在所有其他窗口前) 使其成为活动窗口 需要哪些Windows函数调用? 解决方案 如果您没有窗口的句柄,请在之前使用此操作: [DllImport("user32.dll", SetLastError = true)] static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 现在假设您有一个应用程序窗口的手柄: [DllImport("user32.dll", SetLastError = true)] static extern bool SetForegroundWindow(IntPtr hWnd); 如果另一个窗口具有键盘焦点,这将使任务栏闪存. 如果您想强制窗口到达前面,请使用 for
2 2024-04-11
编程技术问答社区
我怎样才能让tcsetpgrp()在C语言中工作?
我正在尝试(通过fork())前景访问终端. i fork()之后,我在子过程中运行以下代码: setpgid(0, 0); 和: setpgid(child, child); 在父进程中. 这为孩子提供了自己的流程组.呼叫setpgid()正常工作. 现在我想让孩子进入终端. 我在setpgid()呼叫之后向孩子添加了以下内容: if (!tcsetpgrp(STDIN_FILENO, getpid())) { perror("tcsetpgrp failed"); } 之后,有一个execv()命令要产生/usr/bin/nano. 但是,没有发生任何事情,而不是让nano出现,终端看起来好像是期望用户输入. 此外,tcsetpgrp()呼叫后似乎没有代码执行. 我阅读了我需要向子过程发送SIGCONT信号以使其工作的地方.如果该过程被停止,我该怎么做?父母必须发送信号吗? 如果是解决方案,我该如何
0 2024-04-06
编程技术问答社区
Xamarin.Android广播接收器在Android模拟器上完成启动后正在正确触发,但在Android 9(Techno Spark 4)没有
我正在尝试使我的Xamarin.android前景服务在我的Android 9(Techno Spark 4 Air)手机上完成后运行.它在Android仿真器上运作良好. 这就是我所做的. 我的广播员: [BroadcastReceiver(Name = "com.companyname.IMEI247Tracker.MyBroadcastReceiver", Enabled = true, Exported = true)] public class MyBroadcastReceiver : BroadcastReceiver { public override void OnReceive(Context context, Intent intent) { //System.String intent_value = intent.GetStringExtra("key"); Toast.MakeText(co
如何在BroadcastReceiver中知道应用程序是否在前台运行?
我在应用程序中工作,每晚都需要同步.我使用警报管理器,该管理器在我想要的一个小时内致电广播员.问题在于,如果应用程序在前景中运行以避免丢失数据,我将无法进行同步.因此,我需要在广播接收器中知道该应用在前景中运行以取消此同步. 我尝试了在Stackoverflow中发现的解决方案: 检查是否在后台运行Android应用程序 但是在广播中,此参数始终是错误的,但是在Activites中为true. 谁能告诉我哪个问题?我在做什么不好? 真的谢谢! 解决方案 尝试以这种方式希望这对您有效 public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (isAppForground(context)) { //
0 2024-04-03
编程技术问答社区
如何通过TextBlock文本值设置TextBlock的前景属性?
可以通过TextBlock文本值设置TextBlock的前景属性? 例如:文本值是迈克(Mike),前景属性为黑色,价值为tim,属性值为绿色等.我使用Google搜索,但我找不到任何解决方案. 解决方案 如果您希望灵活地做一些智能的事情,例如动态地将文本映射到颜色等,则可以使用转换器类.我假设文本设置为与某物的绑定,您可以通过自定义转换器绑定到前景中的相同物品: 您的转换器将被定义为这样: public class ColorConverter : IValueConverter { public object Convert(object value, Type targetType, object param
2 2024-03-31
编程技术问答社区
与前台服务安卓进行沟通
这里的第一个问题,但是我已经存在一段时间了. 我有什么: 我正在构建一个播放音频流和在线播放列表的Android应用程序.现在一切正常,但是我在与我的服务进行交流时遇到问题. 音乐在服务中播放,从启动前景开始,因此不会被杀死. 我需要从我的活动中与服务进行交流,以获取曲目名称,图像和几件事. 我的问题是什么: 我认为我需要使用bindservice(而不是当前的启动服务)开始我的服务,以便活动可以与之交谈. 但是,当我这样做时,我的服务在关闭活动后将被杀死. 我如何才能两者兼而有之?绑定和前景服务? 谢谢! 解决方案 否. bindService不会启动服务.它只会用service connection绑定到Service,因此您将拥有服务的instance访问/控制. 根据您的要求,我希望您能在服务中拥有MediaPlayer的实例.您也可以从Activity开始服务,然后bind IT.如果将调用service已经运
2 2024-03-30
编程技术问答社区
将一个窗口从后台进程带到前台
我的情况:浏览器显示由本地运行的Web服务器提供的网页.当用户单击页面上的一个按钮时,我想跳到另一个已经运行的应用程序. 在Windows上工作,我考虑过在本地运行的Web服务器中处理按钮单击,然后寻找相应的HWND来调用 SetForegroundWindow 在上面. 然而,就目前而言,本地运行的Web服务器没有足够的特权SetForegroundWindow .这些限制是有道理的,但是我认为点击是一个足够独特的事件,可以证明跳到另一个应用程序. 我阅读了有关绕过这种限制并迫使窗口进入前景的某些技术的信息: attachThreadInput:似乎是一个坏主意.. . 发送热键:似乎是 Chromium Project使用的,但涉及创建自己的消息循环.它的作者指出,这可能是一个Windows错误(即使启动一个独立的包装器(希望能给它足够的特权SetForegroundWindow),其唯一任务是切换到另一个应用程序:看起来重量级,但可能比其他解决方案更容易.
0 2024-03-27
编程技术问答社区
根据背景颜色选择合适的前景样式
我有一个WPF应用程序,该应用程序使用一组标签,文本框等的默认样式发货.由项目类型定义(未定义明确的键). 在应用程序中,有两个主要容器,一个具有深色背景,一个带有光背景的容器,因此有时将黑色用作标签的前景颜色是正确的,有时是巨大的错误.另一方面,编辑总是以传统上的风格背景和黑暗的前景进行样式,因此我不能仅仅为逆向的所有子元素设置前景. 是否有一种优雅的方法来制作我的标签(也许还有文本块)来决定其前景颜色取决于"他们的"背景?我只想在两种颜色之间切换,因此不需要自动对比度最大化,只需避免在白色地面上避免使用白色字体. 我也不想定义两组默认​​样式,我强烈搜索使我的单个标签 - 默认型式型号适合两个背景变体. 是否有可能(如果没有太多的性能命中)可以添加触发/绑定到该样式,从而评估当前背景颜色? 另外,我将对如何为某些框架(尤其是容器/面板)清洁的背景色的最佳实践感兴趣,而无需遇到上述问题. 这是我尝试的(当然简化):
0 2024-03-27
编程技术问答社区
改变文本框中文本的前色和后色
我正在使用VB.NET制作C ++代码编辑器应用程序.我想在用户键入时更改关键字的颜色.另外,我正在寻找一种强调代码的一些行的方法. 是否有一种方法可以更改文本框或丰富的文本框内的文本的预彩和背色? 解决方案 我真的不知道您想做什么,这是一些选择. 如果您想要有关如何编写语法突出显示控件的逐步教程,则可以阅读以下文章: /www.c-sharpcorner.com/uploadfile/duncanharris/syntaxhighlighlightinrichtextboxp212012005044912am/syntaxhighlighlightinrichtextboxp2.aspxp.aspxqupx"> part 2 . 使用c# 在RichTextbox中进行语法突出显示 有关vb.net编写的基本语法突出显示控件,请参阅本文: color syntax Control(vb.net). 如果您想要一个完整的语法突出显示控件,则可以选
0 2024-03-27
编程技术问答社区
安卓:启动任何活动都要在后台启动?
如果我正在编写自己的Android应用程序,我知道如何将其构造为服务,因此它将开始在后台运行. 但是,是否有一种方法可以启动现有应用程序(例如,播放商店中的任何随机.APK),以便它在后台启动,而没有其屏幕接管显示? 另外,我愿意启动该应用程序,将其强加于后台,然后重新播放前面运行的上一个应用程序的窗口(无论它可能发生了什么).我不知道如何以编程方式将当前应用程序放在后台,然后确定上一个应用并将其重新带回前景. 我愿意尽可能地执行此操作:通过Java,通过一个或多个命令行实用程序,通过Tasker插件,通过XPOSED模块或其他任何内容. 事先感谢您对文档或任何建议的任何指示. 解决方案 我发现" Dumpsys Activity Recents"的#0条目给出了当前显示的活动...至少在我的根棉花糖设备上.这给了我我的需求.
4 2024-03-27
编程技术问答社区
JToggleButton-如何改变颜色?
我可以设置按钮的颜色,但是按下按钮后其颜色为蓝色 - 标准.我想成为黑人.我该如何更改? 以下是当前代码: public JPanel gameBoard(){ JPanel pBoard = new JPanel(); pBoard.setSize(5*horizontalOptions,5*verticalOptions); pBoard.setLayout(new GridLayout(horizontalOptions,verticalOptions)); jb = new JToggleButton[verticalOptions*horizontalOptions]; int k=0; for(int i=0;i
0 2024-03-27
编程技术问答社区
如何检测用户是否通过点击应用图标主动重新启动应用?
我想知道我的应用程序是否通过单击应用程序图标来延伸. ,但不是通过来电,应用内购买或其他任何东西. (我发现在应用程序内购买过程中调用了applicationDidBecomeative) 解决方案 步骤1: 启动应用程序并且在后台不在后台(暂停)时,application:didFinishLaunchingWithOptions:将首先执行.此方法运载launchOptions参数 - 当它是nil时,您的应用程序是通过Springboard中的Icon Tap启动的.否则launchOptions将指示启动的原因(url-scheme,push Notification等...更多...更多文档). 步骤2: 到目前为止,一切都很好.现在让我们照顾恢复.恢复应用程序(或开始)时,在某个时候,它将在App的代表中调用applicationDidBecomeActive.诀窍是,在可以恢复(启动)的所有可能原因之后调用此方法.因此,您需要做的就是介绍您将在方法中设
0 2024-03-27
编程技术问答社区
只在应用程序处于后台时发送推送通知
我使用NotificationManager,NotificationChannel和NotificationCompat.builder在触发事件时显示推送通知,没有在线firebase. 当我的应用在前景和背景中时,推动通知会出现,但是只有当我的应用在后台时才会出现. 我有2个活动,只有1个知道可以创建推送通知的课程.我只能设置一个变量,该变量显示我的活动是否在前景(使用resmume和on Propa),但是如果我的其他活动以通知触发类启动活动,则设置在后台,因此我无法使用此方法.我需要知道整个应用程序是否在前景中,但是我找不到解决这个问题的好解决方案. 因此,当我的整个应用在后台时,是否有其他方式显示推送通知? 解决方案 所以我找到了一个适当且非常好的解决方案解决此问题. 根据此答案: application.activitylififeitivelifevepivityLifefecyClecallbacks public class MainAc
0 2024-03-27
编程技术问答社区
在iOS7中使用applicationDidEnterBackground,当应用程序进入后台时无法更新视图。
当我的应用进入后台时,我正在更改视图以准备回到前景.在iOS 6中,我正在做的事情正常.但是在iOS 7中,它不起作用. 我试图隐藏并显示一些这样的uilabels: //AppDelegate.m - (void)applicationDidEnterBackground:(UIApplication *)application { [self.timerVc hideTimerLabels]; } - (void)applicationWillEnterForeground:(UIApplication *)application { [self.timerVc showTimerLabels]; } //TimerVC.m - (void)hideTimerLabels { for (UILabel *label in self.timerLabels) { label.hidden = YES; } } - (v
0 2024-03-27
编程技术问答社区
如何知道我的安卓应用是否可见?
我有一个计时器,该计时器在结束时启动通知.但是,我想仅在当前不可见该应用程序时使用通知管理器发出通知,并在应用程序在前景时显示AlertDialog. . 我已经尝试过: ActivityManager actMngr = (ActivityManager) ValeoMobileApplication.getContext().getSystemService(Activity.ACTIVITY_SERVICE); List runningAppProcesses = actMngr.getRunningAppProcesses(); Tools.log("TimerBroadcastReceiver", "onReceive", "All running processes are listed below :"); for (RunningAppProcessInfo pi : runningAppProcesses) {
2 2024-03-26
编程技术问答社区
如何在调用后将应用程序带到前台?
在我的应用程序中,我正在打电话给我的应用程序在后台并暂停.断开呼叫而不是我的应用程序进入前景之后,本地电话应用进入了前景. 断开呼叫连接后,我的应用程序是否有任何方式进入前景(而不是本地电话应用程序). 如果没有直接方法,私有API/方法也可以正常工作,因为我不会在App Store上提交此应用程序. 预先感谢 解决方案 我怀疑有办法做到这一点,纯粹是因为背景中的应用处于冷冻状态.这意味着该应用没有运行,但仍有内存分配给它. 但是,您可以在ApplicationDidenterBackground::) 中设置本地通知 其他解决方案 由于这会打破沙盒安全性(检测呼叫断开连接,掩盖另一个应用程序等),我怀疑在未修改的库存OS上是否有任何API,公开或其他情况,可以强迫您强制应用到前景没有任何用户交互. 其他解决方案 我认为这是通过Apple提供的API无法做到的.
2 2024-03-26
编程技术问答社区
当应用程序进入后台时,如何保持NSTimer?
我在这里,因为一个没有找到我的问题的解决方案:( 我正在执行一个简单的应用程序,其中我必须(通过插座)发送一些信息到服务器(例如GPS L/L,准确性,电池级等). 当应用在前景时,当前代码正常工作. myTimer = [NSTimer scheduledTimerWithTimeInterval: 2.0 target:self selector: @selector(sendPosToServer:) userInfo:nil repeats: YES]; myTimer2 = [NSTimer scheduledTimerWithTimeInterval: 3.0 target:self selector: @selector(sendBatteryToServer
0 2024-03-26
编程技术问答社区