Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Windows API
  4. CreateRemoteThread() API is not working on Vista

CreateRemoteThread() API is not working on Vista

Scheduled Pinned Locked Moved Windows API
4 Posts 3 Posters 4 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    nvngyl
    wrote on last edited by
    #1

    I have a service(S_SRV) running under system account. I want service(S_SRV) to post a message to another exe(U_EXE) running on the same machine under user account. I have to find the WindowHandle of (U_EXE). I have found ProcessHandle(hProcess) and ProcessID of U_EXE and set the other required data and used the following API for remote processing. **::CreateRemoteThread(hProcess, NULL, 0,(LPTHREAD_START_ROUTINE) pLoadLib , pLibName, 0, NULL);**before that i had already allocate and write to memory in remote process(hProcess)using VirtualAllocEx and WriteProcessMemory(..) Everything is working fine except CreateRemoteThread(..) API on Vista . GetLastError() API return error code (8) "Not enough storage is available to process this command. " And It is only Vista Specific problem on all Other OSs it is working fine. please let me know if anybody has an idea Naveen

    M V 2 Replies Last reply
    0
    • N nvngyl

      I have a service(S_SRV) running under system account. I want service(S_SRV) to post a message to another exe(U_EXE) running on the same machine under user account. I have to find the WindowHandle of (U_EXE). I have found ProcessHandle(hProcess) and ProcessID of U_EXE and set the other required data and used the following API for remote processing. **::CreateRemoteThread(hProcess, NULL, 0,(LPTHREAD_START_ROUTINE) pLoadLib , pLibName, 0, NULL);**before that i had already allocate and write to memory in remote process(hProcess)using VirtualAllocEx and WriteProcessMemory(..) Everything is working fine except CreateRemoteThread(..) API on Vista . GetLastError() API return error code (8) "Not enough storage is available to process this command. " And It is only Vista Specific problem on all Other OSs it is working fine. please let me know if anybody has an idea Naveen

      M Offline
      M Offline
      Michael Dunn
      wrote on last edited by
      #2

      Services are isolated in session 0 in Vista, while the interactive user's processes are in other sessions. This may be the cause of the error.

      --Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?

      N 1 Reply Last reply
      0
      • M Michael Dunn

        Services are isolated in session 0 in Vista, while the interactive user's processes are in other sessions. This may be the cause of the error.

        --Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?

        N Offline
        N Offline
        nvngyl
        wrote on last edited by
        #3

        Thank you for your resonse Yes you are right services are isolated in session 0 in vista but i have tested by running service under user account also but i found the same problem. Is there any other way ? Naveen

        1 Reply Last reply
        0
        • N nvngyl

          I have a service(S_SRV) running under system account. I want service(S_SRV) to post a message to another exe(U_EXE) running on the same machine under user account. I have to find the WindowHandle of (U_EXE). I have found ProcessHandle(hProcess) and ProcessID of U_EXE and set the other required data and used the following API for remote processing. **::CreateRemoteThread(hProcess, NULL, 0,(LPTHREAD_START_ROUTINE) pLoadLib , pLibName, 0, NULL);**before that i had already allocate and write to memory in remote process(hProcess)using VirtualAllocEx and WriteProcessMemory(..) Everything is working fine except CreateRemoteThread(..) API on Vista . GetLastError() API return error code (8) "Not enough storage is available to process this command. " And It is only Vista Specific problem on all Other OSs it is working fine. please let me know if anybody has an idea Naveen

          V Offline
          V Offline
          Vasudevan Deepak Kumar
          wrote on last edited by
          #4

          There are significant kernel enhancements. Check out http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/kernel-en.doc[^]

          Vasudevan Deepak Kumar Personal Homepage Tech Gossips

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups