окна "чужих" приложений

state7401281


есть mdi приложение (автор не я, исходников нет) в нем есть окно (слева) у которого есть иконка, minimize и maximize
короче хочу чтобы их не было, был только close и много места под буквы в названии окна
что читать в мсдне, чтобы написать такую прогу на дот нете, которая в окнах чужего приложения убирет кнопки?

Serab

FindWindow
GetWindow
SetWindowLong
Window Styles
зачем дотнет?

Dasar

class Process
DllImport
функции для работы с окнами http://msdn.microsoft.com/ru-ru/library/ms632595(en-us,VS.85).aspx

state7401281

> зачем дотнет?
говорят сейчас это модно

state7401281

> зачем дотнет?
кажется понял в чем юмор
а без dllimport'а можно обойтись?

Serab

Да я без подколок, просто поинтересовался. Если надо сделать программку, которая запускается и выполняет описанные тобой манипуляции, то я тебе и ответ бы сразу дал: незачем.
Если же надо встраивать как функционал во что-то имеющееся, то тут я не особо силен, может в дотнете и есть более-менее удобные обертки для WinAPI, но я сейчас не в теме, жди знатоков.

state7401281

не, надо сделать приложение, независимое, разовое, для личных целей, окон как на картинке открыто много, занимают два моника 1600x1200, хочется их потеснить, но из-за того, что буквы невлазят в title сильно теснить не получается
дотнет потому, что из того, что умеет компилировать установлена только 2008я студия

Serab

Напиши просто на native C++
Про это в MSDN есть статья Simple Win32 Application или вроде того. Оттуда тебе нужна только сигнатура функции WinMain =)
Да и то студия сама ее за тебя создаст. Цикл обработки сообщений выброси, все лишние функции выброси и начинай применять знания, полученные из разделов, которые я советовал выше. Там не трудно, справишься.

state7401281

там непонятные файлы типа stdafx.h (или как-то так) и они меня ставят в тупик
dllimport и то более friendly
один вопрос только остался - можно ли с помощью мсдна узнать чему равна константа GWL_STYLE

Serab

Это можно узнать с помощью sprintf или Go to definition.
Последнее время в MSDN стало модно писать-таки числовые значения констант, но некоторые старые страницы в этом отношении до ума не доведены.

Serab

там непонятные файлы типа stdafx.h (или как-то так) и они меня ставят в тупик
Не удаляй этот include и все. И оставь его первым. И файлы stdafx.{cpp,h} не удаляй.
Дальше пиши внутри WinMain.

state7401281

ты только что разрушил мой образ жизни :\
но за GOTO DEFINITION спасибо

Andbar

Не удаляй этот include и все. И оставь его первым. И файлы stdafx.{cpp,h} не удаляй.
Можно всё это удалить, только в настройках проекта в разделе опций компилятора поставить "Don't use precompiled headers". Они нужны только в больших проектах с кучей заголовков чтобы уменьшить время компиляции.

Serab

Они нужны только в больших проектах с кучей заголовков чтобы уменьшить время компиляции.
#include <windows.h> уже достаточно, имхо.
Там же дело не только в количестве include'ов, но и в количестве исходников в твоем проекте.

klyv

#include <windows.h> уже достаточно, имхо.
Там же дело не только в количестве include'ов, но и в количестве исходников в твоем проекте.
и этот монструозный windows.h (который всё равно что #include <win32/*.h>) будет при каждой компиляции парситься.
precompiled headers (коим и является stdafx.h) сделаны для того, чтобы сэкономить время компиляции на обработке больших заголовков, таких как windows.h или STL.
Оставить комментарий
Имя или ник:
Комментарий: