对于如何从另一个进程访问控制台缓冲区?AttachConsoleERROR_INVALID_PARAMETER感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍从一个进程切换到另一个进程需要保存哪
对于如何从另一个进程访问控制台缓冲区? AttachConsole ERROR_INVALID_PARAMETER感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍从一个进程切换到另一个进程需要保存哪些信息,并为您提供关于android – 失败[INSTALL_FAILED_UPDATE_INCOMPATIBLE]后跟DELETE_FAILED_INTERNAL_ERROR、asp.net – DOM异常:INVALID_CHARACTER_ERR(5)[已关闭]、CallNtPowerInformation API失败,错误代码为STATUS_INVALID_PARAMETER、CASS_ERROR_SERVER_INVALID_QUERY:无法将 JSON 字符串解码为地图:org.codehaus.jackson.JsonParseException:意外字符('?'的有用信息。
本文目录一览:- 如何从另一个进程访问控制台缓冲区? AttachConsole ERROR_INVALID_PARAMETER(从一个进程切换到另一个进程需要保存哪些信息)
- android – 失败[INSTALL_FAILED_UPDATE_INCOMPATIBLE]后跟DELETE_FAILED_INTERNAL_ERROR
- asp.net – DOM异常:INVALID_CHARACTER_ERR(5)[已关闭]
- CallNtPowerInformation API失败,错误代码为STATUS_INVALID_PARAMETER
- CASS_ERROR_SERVER_INVALID_QUERY:无法将 JSON 字符串解码为地图:org.codehaus.jackson.JsonParseException:意外字符('?'
如何从另一个进程访问控制台缓冲区? AttachConsole ERROR_INVALID_PARAMETER(从一个进程切换到另一个进程需要保存哪些信息)
我想访问另一个进程控制台的缓冲区(通过AttachConsole),调用ReadConsoleOutput等
是一个DOS 16位应用程序。 我不能使用pipe道,因为它不会写输出secuentially(它模拟“窗口”..如FAR指挥官,如果你知道我的意思)。
所以我应该:
1)启动应用程序2)获取进程ID 3)调用AttachConsole(ProcId)4)调用GetConsoleScreenBufferInfo获取大小5)调用ReadConsoleOutput
在Windows上,控制台窗口所有权如何工作?
如何在Linux中获取键盘状态?
在Linux中使用Ctrl-Alt-F6,无法恢复屏幕
如何将Alt +空格发送到控制台窗口?
在程序运行的时候可以获得程序的输出吗?
问题是在3:当我调用AttachConsole ir时返回0,在调用GetLastError之后,它报告ERROR_INVALID_ParaMETER 87(0x57)。
AttachConsole的唯一参数是ProcessId,我用ProcessExplorer检查了它是正确的(它实际上是模拟应用程序的ntvdm.exe的PID)。
Delphi代码:
function AttachConsole(dwProcessId: DWORD): Cardinal; external kernel32 name 'AttachConsole'; var Handle: HWND; function EnumWindowsProc(hwnd: HWND; lParam: LParaM): BOOL; stdcall; var s: string; IsVisible,IsOwned,IsAppWindow: Boolean; begin Result := True;//carry on enumerating IsVisible := IsWindowVisible(hwnd); if not IsVisible then exit; IsOwned := Getwindow(hwnd,GW_OWNER)<>0; if IsOwned then exit; IsAppWindow := getwindowlongPtr(hwnd,GWL_STYLE) and WS_EX_APPWINDOW<>0; if not IsAppWindow then exit; SetLength(s,GetwindowTextLength(hwnd)); GetwindowText(hwnd,PChar(s),Length(s)+1); if AnsiContainsText(s,'????.EXE') then // set windows name to search Handle := hwnd; end; procedure Test(Strings: TStrings); var ProcessID: Cardinal; begin Handle := 0; EnumWindows(@EnumWindowsProc,0); Strings.Add('Handle: ' + IntToStr(Handle)); if Handle <> 0 then SetForegroundWindow(Handle); Sleep(100); GetwindowThreadProcessId(Handle,@ProcessID); Strings.Add('ProcessId: ' + IntToStr(ProcessID)); if AttachConsole(ProcessId) <> 0 then Strings.Add('Ok Attached') else Strings.Add('Error: ' + IntToStr(GetLastError)); end;
放下备忘录和button的forms。 在OnClick调用Test(Memo1.Lines)。
=====编辑完整的解决scheme=====
function AttachAndGetConsoleHandle(ProcessId: Cardinal): Cardinal; begin if not AttachConsole(ProcessId) then raise Exception.Create('AttachConsole error: ' + IntToStr(GetLastError)); Result := GetStdHandle(STD_OUTPUT_HANDLE); if Result = INVALID_HANDLE_VALUE then raise Exception.Create('GetStdHandle(STD_OUTPUT_HANDLE) error: ' + IntToStr(GetLastError)); end; procedure DettachConsole; begin if not FreeConsole then raise Exception.Create('FreeConsole error: ' + IntToStr(GetLastError)); end; function ReadConsole(ConsoleHandle: Cardinal): TStringList; var BufferInfo: _CONSOLE_SCREEN_BUFFER_INFO; BufferSize,BufferCoord: _COORD; ReadRegion: _SMALL_RECT; Buffer: Array of _CHAR_INFO; I,J: Integer; Line: AnsiString; begin Result := TStringList.Create; ZeroMemory(@BufferInfo,SizeOf(BufferInfo)); if not GetConsoleScreenBufferInfo(ConsoleHandle,BufferInfo) then raise Exception.Create('GetConsoleScreenBufferInfo error: ' + IntToStr(GetLastError)); SetLength(Buffer,BufferInfo.dwSize.X * BufferInfo.dwSize.Y); BufferSize.X := BufferInfo.dwSize.X; BufferSize.Y := BufferInfo.dwSize.Y; BufferCoord.X := 0; BufferCoord.Y := 0; ReadRegion.Left := 0; ReadRegion.Top := 0; ReadRegion.Right := BufferInfo.dwSize.X; ReadRegion.Bottom := BufferInfo.dwSize.Y; if ReadConsoleOutput(ConsoleHandle,Pointer(Buffer),BufferSize,BufferCoord,ReadRegion) then begin for I := 0 to BufferInfo.dwSize.Y - 1 do begin Line := ''; for J := 0 to BufferInfo.dwSize.X - 1 do Line := Line + Buffer[I * BufferInfo.dwSize.X + J].AsciiChar; Result.Add(Line) end end else raise Exception.Create('ReadConsoleOutput error: ' + IntToStr(GetLastError)); end;
Python语法错误后保持打开的Windows控制台
我怎样才能使Unicode iostream I / O在Windows和Unix的土地上工作?
控制台中的铃声挂起Windows 7
我怎样才能在c ++控制台中写入文本而不会破坏行
获取一个事件挂钩到Console.WriteLine
定义应该是:
function AttachConsole(dwProcessId: DWORD): BOOL; stdcall; external kernel32 name 'AttachConsole';
所以它后面的代码应该是:
if AttachConsole(ProcessId) then
再也不能帮你了。
android – 失败[INSTALL_FAILED_UPDATE_INCOMPATIBLE]后跟DELETE_FAILED_INTERNAL_ERROR
此外,运行窗口显示“Failure [INSTALL_Failed_CONFLICTING_PROVIDER]”
点击确定后,我进入运行窗口:
“DEVICE SHELL COMMAND:pm uninstall com.app.app
DELETE_Failed_INTERNAL_ERROR”
谢谢您的帮助!
解决方法
我建议使用8.1.0版本 – 这解决了我的问题.
例如:
dependencies { compile filetree(include: [''*.jar''],dir: ''libs'') compile ''com.google.android.gms:play-services-gcm:8.3.0'' }
需要更改为:
dependencies { compile filetree(include: [''*.jar''],dir: ''libs'') compile ''com.google.android.gms:play-services-gcm:8.1.0'' }
在build.gradle文件中
asp.net – DOM异常:INVALID_CHARACTER_ERR(5)[已关闭]
有人有这样的经验吗?
Message: DOM Exception: INVALID_CHaraCTER_ERR (5) Line: 3422 Char: 8 Code: 0 URI: http://localhost/AbcWeb/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen%3a1f68db6e-ab92-4c56-8744-13e09bf43565%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%3aen%3a183fb741-216d-4765-9b46-4a1f5d38fdd7%3a16e4e7cd%3af7645509%3aed16cbdc%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen%3a1f68db6e-ab92-4c56-8744-13e09bf43565%3a76254418%3bTelerik.Web.UI%2c+Version%3d2010.2.929.40%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen%3a183fb741-216d-4765-9b46-4a1f5d38fdd7%3a874f8ea2%3a24ee1bba%3a19620875%3a490a9d4e%3abd8f85e4%3a9cdfc6e7
解决方法
TL; DR – 在页面的标题中添加以下元标记,看看它是否有所不同:
<Meta http-equiv="X-UA-Compatible" content="IE=IE8" >
CallNtPowerInformation API失败,错误代码为STATUS_INVALID_PARAMETER
我运行下面的代码来从Windows操作系统获取video显示超时:
SYstem_POWER_POLICY spp = {0}; DWORD dwRes = CallNtPowerinformation(SystemPowerPolicyAc,NULL,&spp,sizeof(spp)); if(dwRes != STATUS_SUCCESS) { //Error 0xC000000D or STATUS_INVALID_ParaMETER //An invalid parameter was passed to a service or function. } else { int nTimeout = spp.VideoTimeout; }
它可以在我的Windows 7上运行,但是在运行Windows 7的另一台笔记本电脑上运行也会返回错误代码STATUS_INVALID_ParaMETER。 有没有人有任何想法,为什么? 而如何补救呢?
是否可以在Windows中写入任何内存地址?
如何在使用epoll_wait时正确读取数据
如何在c ++中使用tagDEC(DECIMALtypes)?
如何configuration线程负载平衡?
如何使用PHP将.NET源文件编译为可执行文件?
总结
以上是小编为你收集整理的CallNtPowerInformation API失败,错误代码为STATUS_INVALID_PARAMETER全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
CASS_ERROR_SERVER_INVALID_QUERY:无法将 JSON 字符串解码为地图:org.codehaus.jackson.JsonParseException:意外字符('?'
如何解决CASS_ERROR_SERVER_INVALID_QUERY:无法将 JSON 字符串解码为地图:org.codehaus.jackson.JsonParseException:意外字符(''?''?
我正在尝试使用 json 插入到 cassandra 表。 我尝试了一个静态插入语句,它奏效了。但是当我尝试使用“?”进行绑定时它产生了以下错误/
#define NEW_INSERT_STMT "INSERT INTO test_user_record JSON ''{\"user_id\":120,\"first_name\":\"?\",\"last_name\":\"?\",\"company\":\"?\"}''"
Error:
File: CassLg2Meta.c
Function: prepare_cass_user_record_table_Insert
Line: 125
Message: CASS_ERROR_SERVER_INVALID_QUERY:Could not decode JSON string as a map: org.codehaus.jackson.JsonParseException: Unexpected character (''?'' (code 63)): expected a valid value (number,String,array,object,''true'',''false'' or ''null'')
at [Source: java.io.StringReader@2c37ff3; line: 1,column: 30]. (String was: {"user_id":120,"first_name":?,"last_name":"?","company":"?"})
如何使用 json 绑定变量?
绑定参数:https://docs.datastax.com/en/developer/cpp-driver/2.16/topics/basics/binding_parameters/
解决方法
你不能这样做 - JSON 参数被视为一个完整的字符串,占位符在其中不起作用。
但是这里真的不需要用JSON,用普通的INSERT statement就可以了(我觉得还需要绑定user_id
):
INSERT INTO test_user_record (user_id,first_name,last_name,company)
VALUES (120,?,?)
然后准备并将值绑定到它。
今天关于如何从另一个进程访问控制台缓冲区? AttachConsole ERROR_INVALID_PARAMETER和从一个进程切换到另一个进程需要保存哪些信息的介绍到此结束,谢谢您的阅读,有关android – 失败[INSTALL_FAILED_UPDATE_INCOMPATIBLE]后跟DELETE_FAILED_INTERNAL_ERROR、asp.net – DOM异常:INVALID_CHARACTER_ERR(5)[已关闭]、CallNtPowerInformation API失败,错误代码为STATUS_INVALID_PARAMETER、CASS_ERROR_SERVER_INVALID_QUERY:无法将 JSON 字符串解码为地图:org.codehaus.jackson.JsonParseException:意外字符('?'等更多相关知识的信息可以在本站进行查询。
本文标签: