powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Передача данных между приложениями под разными пользователями
14 сообщений из 14, страница 1 из 1
Передача данных между приложениями под разными пользователями
    #34706785
boles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Помогите, пожалуйста! Ситуация следующая. Запускаются 2 приложения под разными пользователями, и необходимо, чтобы одно приложение передало другому текстовые данные.

С помощью функции CreateFileMapping (файловое отображение) под одним пользователем реализовать такое получилось. Однако, под разными пользователями выделяются разные области памяти, и приложения не видят друг друга.

Может, будут какие-нибудь идеи, как реализовать такую передачу данных? Очень прошу помочь! Ну просто позарез нужно!

Заранее спасибо за любую помощь!
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34706847
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boles wrote:

> Может, будут какие-нибудь идеи, как реализовать такую передачу данных?
> Очень прошу помочь! Ну просто позарез нужно!
>
Можно сокеты использовать.

Потом в WinAPI были функции для работы с pipe'ами (CreateNamedPipe, что
ли?), которыми я никогда не пользовался - это, случайно, не то, что вам
нужно?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34706868
boles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ErV
Можно сокеты использовать.

Потом в WinAPI были функции для работы с pipe'ами (CreateNamedPipe, что
ли?), которыми я никогда не пользовался - это, случайно, не то, что вам
нужно?
Posted via ActualForum NNTP Server 1.4

Вот я абсолютно не знаком с сокетами, пайпами... Поэтому затрудняюсь сказать, это ли мне нужно... Буду очень благодарен какому-нить примеру, чтобы омжно было переделать под себя, т.к. даже не представляю, с чего начать...
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34706890
topa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ты перед созданием Отбображения с начало открой файл (OpenFile) по имени потом отображение и передавай в функцию CreateFileMapping дескриптор открытого файла. И почитай книгу Джефри Рихтера
Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34706901
boles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
topa1А ты перед созданием Отбображения с начало открой файл (OpenFile) по имени потом отображение и передавай в функцию CreateFileMapping дескриптор открытого файла. И почитай книгу Джефри Рихтера
Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows

Я именно так и делаю... Только, говорю же, что это работает, когда оба приложения запущены от имени одного пользователя, а надо, чтобы можно было запустить их от имени разных пользователей.
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34706906
topa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ты как открываешь отображение под другим пользователем? По имени?
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34706917
topa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну тогда код в студию
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34706921
boles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
topa1Ну тогда код в студию
Один момент... Щас будет код в студии :)
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34706928
topa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А также под какой операционкой запускаешь?
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34706959
boles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Описана структура:

Код: plaintext
1.
2.
3.
4.
Type CheckStand
    Done As Long
    text As String *  20 
    Client As String *  8 
End Type
################################################
Текст того, кто будет получать данные:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
Private Sub chkOpen_Click()
    Dim usename$
    Dim InitialStand As CheckStand
    Dim written&
    usename$ = "ChkStd" & txtCheck.text
    If chkOpen.value =  1  Then
        If FileHandle <>  0  Then Exit Sub
        FileHandle = CreateFile(usename$, GENERIC_READ Or GENERIC_WRITE, _
                                 0 , Security, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL Or FILE_FLAG_RANDOM_ACCESS,  0 )
        If FileHandle = - 1  Then
            MsgBox "Can't create file"
            FileHandle = 0
            Exit Sub
        End If
        Call WriteFile(FileHandle, InitialStand, Len(InitialStand), written, 0)
        Call FlushFileBuffers(FileHandle)
        MappingHandle = CreateFileMapping(FileHandle, Security, PAGE_READWRITE, 0, 0, usename$ & "map")
        If MappingHandle = 0 Then
            MsgBox "Can't create file mapping"
            Exit Sub
        End If
        MappingAddress = MapViewOfFile(MappingHandle, FILE_MAP_ALL_ACCESS,  0 ,  0 ,  0 )
        If MappingAddress =  0  Then
            MsgBox "Can't map view of the file"
            Exit Sub
        End If
        Timer1.Enabled = True
    Else
        CleanUp
        lblStatus.Caption = "Closed"
    End If
End Sub

Private Sub Form_Load()
    With Security
        .nLength = Len(Security)
        .lpSecurityDescriptor =  0 
        .bInheritHandle = True
    End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
    CleanUp
End Sub

Private Sub CleanUp()
    Timer1.Enabled = False
    If MappingAddress <>  0  Then
        Call UnmapViewOfFile(MappingAddress)
        MappingAddress =  0 
    End If
    If MappingHandle <>  0  Then
        Call CloseHandle(MappingHandle)
        MappingHandle =  0 
    End If
    If FileHandle <>  0  Then
        Call CloseHandle(FileHandle)
        FileHandle =  0 
    End If
End Sub

Private Sub Timer1_Timer()
    Dim cs As CheckStand
    agCopyData ByVal MappingAddress, cs, Len(cs)
    If cs.Done =  1  Then
            lstCustomers.AddItem cs.text
            cs.Done =  0 
            Timer1.Enabled = False
            lblStatus.Caption = "Waiting to pay"
    Else
        lblStatus.Caption = "Waiting for customer"
    End If
    
End Sub

####################################################################33
Тот, кто отправляет:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
Private Sub Timer1_Timer()
    Dim usename$
    Dim newtotal&
    Dim cs As CheckStand
    Dim x%
      
    Select Case CurrentState
        Case  0 
            If chkShop.value =  1  Then
                CurrentState =  1 
            End If
        Case  1 
            usename$ = GetMappingName$()
            MappingHandle = OpenFileMapping(FILE_MAP_WRITE, False, usename$)
            If MappingHandle =  0  Then Exit Sub
            MappingAddress = MapViewOfFile(MappingHandle, FILE_MAP_ALL_ACCESS,  0 ,  0 ,  0 )
            CurrentState =  2 
        Case  2 
            CurrentState =  3 
        Case  3 
            Open "C:\config.ini" For Input As # 1 
            If Not EOF( 1 ) Then
               Line Input # 1 , cs.text
            End If
            Close # 1 
            cs.Done =  1 
            cs.Client = "Client" & txtClient.text
            agCopyData cs, ByVal MappingAddress, Len(cs)
            CurrentState =  4 
            CleanUp
    End Select
End Sub

Public Function GetMappingName() As String
    GetMappingName = "ChkStd1map"
End Function

Private Sub CleanUp()
    If MappingAddress <>  0  Then
        Call UnmapViewOfFile(MappingAddress)
        MappingAddress =  0 
    End If
    If MappingHandle <>  0  Then
        Call CloseHandle(MappingHandle)
        MappingHandle =  0 
    End If
End Sub

Операционка вроде бы Windows 2000 () не уверен, т.к. это запускается на терминальном сервере. Если принципиально - могу уточнить
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34706990
topa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скорее всего грабли в том что это работает из под терминального сервера, так как там для каждого пользователя своя среда ник как на перекрывающаяся с другим пользователем.

Значить сокеты. Инфы про них полно и инете.
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34707003
boles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
topa1скорее всего грабли в том что это работает из под терминального сервера, так как там для каждого пользователя своя среда ник как на перекрывающаяся с другим пользователем.

Значить сокеты. Инфы про них полно и инете.

Может, поможете написать чего-нить с использованием этих сокетов? Ибо абсолютно не знаю, как это писать... И время ОООООЧЕНЬ ограничено! В общем, если есть возможность, то очень прошу помочь!
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34707012
topa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мыло давай
...
Рейтинг: 0 / 0
Передача данных между приложениями под разными пользователями
    #34707018
boles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
topa1мыло давай

boles@e1.ru
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Передача данных между приложениями под разными пользователями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]